23.[前端开发]Day23-移动端适配方案-考拉海购移动端项目

01-05 移动端适配rem方案

适配方案 – rem+动态html的font-size

rem的font-size尺寸

方式一:动态font-size-媒体查询

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    @media screen and (min-width: 320px) {
      html {
        font-size: 20px;
      }
    }
    
    @media screen and (min-width: 375px) {
      html {
        font-size: 24px;
      }
    }

    @media screen and (min-width: 414px) {
      html {
        font-size: 28px;
      }
    }
    
    @media screen and (min-width: 480px) {
      html {
        font-size: 32px;
      }
    }

    .box {
      width: 5rem;
      height: 5rem;
      background-color: orange;
    }
  </style>
</head>
<body>
  
  <div class="box">

  </div>

</body>
</html>

方式二:动态font-size-JS动态计算

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

  <script src="./js/hy_flexible.js"></script>

  <style>
    body {
      font-size: 16px;
    }

    .box {
      width: 5rem;
      height: 5rem;
      background-color: orange;
    }

    p {
      font-size: 0.5rem;
    }
  </style>
</head>
<body>
  
  <div class="box">

  </div>

  <p>我是文本</p>

  <!-- 动态的修改html的font-size -->
  <span>哈哈哈哈哈哈</span>

</body>
</html>

方式三:动态font-size-lib-flexible

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>

  <script src="./js/lib_flexible.js"></script>

  <style>
    .box {
      width: 5rem;
      height: 5rem;
      background-color: orange;
    }

    p {
      font-size: 0.5rem;
    }
  </style>
</head>
<body>
  
  <div class="box">

  </div>

  <p>我是文本</p>

</body>
</html>

rem的单位换算

插件的设置:扩展设置

06-07 移动端适配vw方案

考拉海购设计稿

适配方案 - vw

vw和rem的对

vw的单位换算

vw的单位换算

08_(掌握)grid布局-介绍-概念-常见属性

认识grid布局

grid布局重要的概念

grid布局常见属性

09_(掌握)考拉海购-index搭建和head配置

做这个:

10_(掌握)考拉海购-reset重置和目录结构

目前,先做静态页面,JS后再做动态页面。

11_(掌握)考拉海购-项目tabbar的搭建过程

先做:

12_(掌握)考拉海购-download布局和vw转换

13_(掌握)考拉海购-download细节布局处理

渐变背景色:

@import url(./variables.less);
@import url(./mixins.less);

.download {
  display: flex;
  height: 16vw;
  box-sizing: border-box;
  border-bottom: 1px solid #e3e3e3;
  background-color: #fff;

  .left {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    overflow: hidden;
    padding: 0 3.2vw;

    .logo {
      width: 10.6667vw;
      height: 10.6667vw;
      border-radius: 2.13333vw;
      box-shadow: 0 0 0.93333vw 0 rgba(0,0,0,.15);
    }

    .info {
      flex: 1;
      overflow: hidden;
      margin-left: 2.1333vw;

      .title {
        color: #333;
        font-size: @normalFontSize;

        .nowrap();
      }

      .desc {
        margin-top: .5333vw;
        color: #999;
        font-size: @smallFontSize;

        .nowrap();
      }
    }
  }

  .right {
    width: 25.2vw;
    text-align: center;
    height: 16vw;
    line-height: 16vw;
    color: #fff;
    font-size: @bigFontSize;
    background-image: linear-gradient(to right, #ff0409,#ff3162);
  }
}

14_(掌握)考拉海购-subsidy的header展示

做补贴

@import url(./variables.less);

.subsidy {
  width: 93.6vw;
  height: 44vw;
  margin: 3.2vw auto 0;
  box-sizing: border-box;
  padding: 0 2.6667vw;
  background-color: #fff;
  border-radius: 3.2vw;

  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 10.6667vw;

    .left {
      display: flex;
      align-items: flex-end;

      img {
        width: 16.8vw;
      }

      .time {
        display: flex;
        margin-left: 1.3333vw;
        align-items: center;
        font-size: @smallFontSize;

        .item {
          width: 5.3333vw;
          height: 4.2667vw;
          text-align: center;
          line-height: 4.2667vw;
          color: #fff;
          background-color: @mainColor;
          border-radius: .8vw;
        }

        .split {
          color: @mainColor;
          margin: 0 .8vw;
        }
      }
    }

    .right {
      position: relative;
      padding-right: 8px;
      font-size: @smallFontSize;
      color: @mainColor;

      &::after {
        content: "";
        position: absolute;
        width: 1.2vw;
        height: 1.2vw;
        top: 0;
        bottom: 0;
        margin: auto 0;
        border: .2667vw solid @mainColor;
        border-top-color: transparent;
        border-left-color: transparent;
        transform: rotate(-45deg);
      }
    }
  }

  .list {
    display: flex;

    .item {
      flex: 1;
      text-align: center;

      img {
        width: 20.9333vw;
      }

      .info {
        font-size: @smallFontSize;
        .new {
          display: flex;
          align-items: center;
          color: @mainColor;

          .unit {
            font-weight: 700;
          }

          .money {
            font-size: 4vw;
            font-weight: 700;
          }
        }

        .old {
          color: #777;
          text-decoration: line-through;
        }
      }
    }
  }
}

15_(掌握)考拉海购-subsidy的list展示

16_(掌握)考拉海购-category类别的展示

@import url(./variables.less);

.category {
  display: flex;
  margin: 5.3333vw 0 2.6667vw;
  padding: 0 3.2vw;

  .item {
    flex: 1;
    text-align: center;

    .title {
      font-size: @bigFontSize;
      color: #666;
    }
    .subtitle {
      height: 4.2667vw;
      padding: 0 1.6vw;
      font-size: @smallFontSize;
      border-radius: 2.4vw;
      color: #999;
    }

    &.active {
      .title {
        color: @mainColor;
      }
      .subtitle {
        color: #fff;
        background-color: @mainColor;
      }
    }
  }
}

17_(掌握)考拉海购-Product整体布局展示

18_(掌握)考拉海购-Product中item内容展示

@import url(./variables.less);

body {
  font-size: @normalFontSize;
  background-color: #f5f5f5;
}

// tags tag
.tags {
  display: flex;
  flex-wrap: wrap;
}

.tags .tag {
  height: 3.2vw;
  line-height: 3.2vw;
  position: relative;
  margin-right: .8vw;
  margin-top: .5333vw;
  padding: 0 .8vw;
  font-size: 3.2vw;
  color: @mainColor;
  border: 1px solid @mainColor;
  border-radius: .8vw;

  &.ticket {
    padding-left: 27px;
  }

  &.ticket::before {
    content: "券";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    padding: 0 1.6vw;
    background-color: @lightBgColor;
  }
}

总结

一. 移动端适配方案

1.1. 整理常见方案

  • 百分比

    • 不推荐

    • 不同位置的百分比相对参照物不一样

  • rem + 动态的html的font-size

  • vw

  • flex

1.2. rem+动态的font-size

1.2.1. 动态的font-size
  • 方案一: 媒体查询

  • 方案二: 手写js设置html的font-size

  • 方案三: lib-flexible

1.2.2. px转rem单位
  • 方案一: 手动(计算器)

  • 方案二: less混入

  • 方案三: webpack插件(后续)

  • 方案四: vscode插件

    • 设置 font-size

1.3. vw

1.3.1. 回顾vw
  • rem和vw联系在一起

  • 1rem = 10vw

1.3.2. px转vw单位
  • 方案一: 手动(计算器)

  • 方案二: less混入

  • 方案三: webpack插件(后续)

  • 方案四: vscode插件

    • 设置设计稿的大小

二. grid布局

2.1. grid介绍/重要概念

2.2. grid布局中的属性

  • 学习地址

三. 考拉海购

3.1. tabbar模块

3.2. download模块

3.3. subsidy模块

3.4. category模块

3.5. product

  • product整体布局

  • item内容布局

  • tags/tag封装

练习

一. 完成上课所有的代码

二. 完成考拉的其他模块

三. 做项目

  • 分享

四. 回顾前面所有HTML+CSS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/968647.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据中心网络监控

数据中心是全球协作的特定设备网络&#xff0c;用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。 对于任何利用IT基础设施的企业来说&#xff0c;数据中心都是运营的核心&#xff0c;它本质上为整个业务网络托管业务应用程序和存储空间。数据中心可以是任…

网络初识-

网络的相关概念 一、局域网和广域网 将各种计算机、外部设备等相互连接起来&#xff0c;实现在这个范围内数据通信和资源共享的计算机网络。它的覆盖范围通常在几百米到几公里之内。例如&#xff0c;一个小型企业的办公室&#xff0c;通过交换机将多台电脑连接在一起&#xf…

如何使用DHTMLX Scheduler的拖放功能,在 JS 日程安排日历中创建一组相同的事件

DHTMLX Scheduler 是一个全面的调度解决方案&#xff0c;涵盖了与规划事件相关的广泛需求。假设您在我们的 Scheduler 文档中找不到任何功能&#xff0c;并且希望在我们的 Scheduler 文档中看到您的项目。在这种情况下&#xff0c;很可能可以使用自定义解决方案来实现此类功能。…

haproxy+nginx负载均衡实验

准备三台虚拟机&#xff1a; HAProxy 服务器192.168.65.131Web 服务器 1192.168.65.132Web 服务器 2192.168.65.133 在 HAProxy 服务器&#xff08;192.168.65.131&#xff09;上操作&#xff1a; 安装 HAProxy&#xff1a; sudo yum install -y haproxy编辑 HAProxy 配置…

数据结构与算法之排序算法-插入排序

排序算法是数据结构与算法中最基本的算法之一&#xff0c;其作用就是将一些可以比较大小的数据进行有规律的排序&#xff0c;而想要实现这种排序就拥有很多种方法~ 那么我将通过几篇文章&#xff0c;将排序算法中各种算法细化的&#xff0c;详尽的为大家呈现出来&#xff1a; &…

cv2小练习

基础概念 帧率是指在单位时间内&#xff0c;显示的图像帧数的数量。它是衡量视频或动画流畅度的一个重要指标。帧率的单位通常是每秒帧数&#xff08;Frames Per Second&#xff0c;简称FPS&#xff09;。在数字视频和计算机图形领域&#xff0c;帧率是决定视频播放质量和流畅度…

在Mac arm架构终端中运行 corepack enable yarn 命令,安装yarn

文章目录 1. 什么是 Corepack&#xff1f;2. 运行 corepack enable yarn 的作用3. 如何运行 corepack enable yarn4. 可能遇到的问题及解决方法问题 1&#xff1a;corepack 命令未找到问题 2&#xff1a;Yarn 未正确安装问题 3&#xff1a;权限问题 5. 验证 Yarn 是否启用成功6…

Spring基于文心一言API使用的大模型

有时做项目我们可能会遇到要在项目中对接AI大模型 本篇文章是对使用文心一言大模型的使用总结 前置任务 在百度智能云开放平台中注册成为开发者 百度智能云开放平台 进入百度智能云官网进行登录&#xff0c;点击立即体验 点击千帆大模型平台 向下滑动&#xff0c;进入到模型…

【Vue中BUG解决】npm error path git

报错内容如下&#xff1a; 从错误信息可知&#xff0c;这是一个 ENOENT&#xff08;No Entry&#xff0c;即找不到文件或目录&#xff09;错误&#xff0c;并且与 git 相关。具体来说&#xff0c;npm 在尝试调用 git 时&#xff0c;无法找到 git 可执行文件&#xff0c;下面为…

(一)Axure制作移动端登录页面

你知道如何利用Axure制作移动端登录页面吗&#xff1f;Axure除了可以制作Web端页面&#xff0c;移动端也是可以的哦&#xff0c;下面我们就一起来看一下Axure制作移动端登录页面的过程吧。 第一步&#xff1a;从元件中拖入一个矩形框&#xff0c;并设置其尺寸为&#xff1a;37…

自动化遇到的问题记录(遇到问题就更)

总结回归下自己这边遇到的一些问题 “EOF错误”&#xff0c;获取不到csv里面的内容 跑多csv文件里的场景&#xff0c;部分场景的请求值为 1、检查csv文件里不能直接是[]开头的参数&#xff0c;把[]改到ms平台的请求参数里 2、有时可能是某个参数值缺了双引号的其中一边 met…

LabVIEW软件需求开发文档参考

在项目开发的工作历程中&#xff0c;精准把握项目需求无疑是成功打造整个项目的首要关键步骤&#xff0c;同时也是一个至关重要且不可忽视的核心环节。明确且详尽的项目需求就如同建筑的基石&#xff0c;为后续的设计、开发、测试等一系列工作提供了坚实的支撑和清晰的指引。倘…

【JVM详解五】JVM性能调优

示例&#xff1a; 配置JVM参数运行 #前台运行 java -XX:MetaspaceSize-128m -XX:MaxMetaspaceSize-128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio8 - XX:UseConcMarkSweepGC -jar /jar包路径 #后台运行 nohup java -XX:MetaspaceSize-128m -XX:MaxMetaspaceS…

android studio下载安装汉化-Flutter安装

1、下载android studio官方地址&#xff1a;&#xff08;这个网址可能直接打不开&#xff0c;需要VPN&#xff09; https://developer.android.com/studio?hlzh-cn mac版本分为X86和arm版本&#xff0c;电脑显示芯片是Inter的就是x86的&#xff0c;显示m1和m2的就是arm的 …

(2025)深度分析DeepSeek-R1开源的6种蒸馏模型之间的逻辑处理和编写代码能力区别以及配置要求,并与ChatGPT进行对比(附本地部署教程)

(2025)通过Ollama光速部署本地DeepSeek-R1模型(支持Windows10/11)_deepseek猫娘咒语-CSDN博客文章浏览阅读1k次&#xff0c;点赞19次&#xff0c;收藏9次。通过Ollama光速部署本地DeepSeek-R1(支持Windows10/11)_deepseek猫娘咒语https://blog.csdn.net/m0_70478643/article/de…

【深度学习入门实战】基于Keras的手写数字识别实战(附完整可视化分析)

​ 本人主页:机器学习司猫白 ok,话不多说,我们进入正题吧 项目概述 本案例使用经典的MNIST手写数字数据集,通过Keras构建全连接神经网络,实现0-9数字的分类识别。文章将包含: 关键概念图解完整实现代码训练过程可视化模型效果深度分析环境准备 import numpy as np impo…

kafka生产端之架构及工作原理

文章目录 整体架构元数据更新 整体架构 消息在真正发往Kafka之前&#xff0c;有可能需要经历拦截器&#xff08;Interceptor&#xff09;、序列化器&#xff08;Serializer&#xff09;和分区器&#xff08;Partitioner&#xff09;等一系列的作用&#xff0c;那么在此之后又会…

docker compose部署flink集群

本次部署2个jobmanager和3个taskmanager 一、部署zookeeper集群 flink使用zookeeper用作高可用 部署集群参考&#xff1a;docker compose部署zookeeper集群-CSDN博客 二、创建目录及配置文件 创建timezone文件&#xff0c;内容填写Asia/Shanghai 手动创建目录&#xff1a…

3dtiles——Cesium ion for Autodesk Revit Add-In插件

一、说明&#xff1a; Cesium已经支持3dtiles的模型格式转换&#xff1b; 可以从Cesium官方Aesset中上传gltf等格式文件转换为3dtiles&#xff1b; 也可以下载插件&#xff08;例如revit-cesium插件&#xff09;转换并自动上传到Cesium官方Aseet中。 Revit转3dtiles插件使用…

html文件怎么转换成pdf文件,2025最新教程

将HTML文件转换成PDF文件&#xff0c;可以采取以下几种方法&#xff1a; 一、使用浏览器内置功能 打开HTML文件&#xff1a;在Chrome、Firefox、IE等浏览器中打开需要转换的HTML文件。打印对话框&#xff1a;按下CtrlP&#xff08;Windows&#xff09;或CommandP&#xff08;M…