移动端基础:rem适配布局

news2024/11/15 16:30:48

rem单位

rem是相对单位,类似于em

但rem的基准是相对于HTML元素的字体大小

rem的优点是可以通过修改HTML文字大小改变页面元素大小,做到整体控制

媒体查询

使用@media查询,可以针对不同的媒体类型定义不同的样式

可以针对不同的屏幕尺寸设置不同样式

语法:

@media mediatype and|not|only (media feature) {

CSS-Code;

}

mediatype 媒体类型

and|not|only关键字

media feature 媒体特征

mediatype 媒体类型

all 用于所有设备

print 用于打印机和打印预览

screen 用于电脑屏幕平板电脑,手机等

and|not|only关键字

and 可以将多个媒体特性连接到一起作为媒体查询的条件

not 排除某媒体类型

only 指定某媒体类型

media feature 媒体特征

每个媒体特性都具有不同媒体风格:width、min-width、max-width

在屏幕上且最大宽度为800px 设置我们想要的样式

未超800px时:

超800px时:

媒体查询+rem实现动态大小变化

Less基础

(Leaner Style Sheets的缩写,CSS预处理器)

CSS弊端

CSS冗余度较高

不方便维护,不利于复用

没有很好的计算能力

Less在CSS语法上,加入程序式语言特性;引入变量函数等

Less变量

@变量名:值;(大小写敏感,不能以数字开头,不能有特殊字符)

通过改变变量@color,可以减少冗余

less编译easy less插件

需要把less文件编译生成CSS文件,这样html文件才能使用

less嵌套

       

伪元素、交集或伪类选择器

           

必须有&,否则会被编译为后代选择器(即内侧选择器前必须加&)

less运算

任何数字、颜色或变量都可以参与运算(+,-,*,/)

注:

除法要加小括号

运算符左右必须隔开

两个数参与运算,如果只有一个单位,以这个单位为准;如果有两个单位且不一样以第一个单位为准

颜色 #666 - #444 = #222

rem适配方案

把页面写死,可以不用width:100%;rem会进行适配(单位rem相当于单元格)

设备尺寸改变,等比例适配

根据不同宽度设置HTML大小,用rem进行缩放

按照设备宽度的比例,动态设置HTML根标签的font-size 大小(媒体查询)

案例:

<!DOCTYPE html>
<html lang="en">

<head>
   <meta charset="UTF-8">
   <meta name="viewport"
      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
   <title>~</title>
   <link rel="stylesheet" href="css/初始化表.css">
   <link rel="stylesheet" href="css/index.css">
   <link rel="shortcut icon" href="">
   <meta name="keywords" content="..." />
   <style>
      /*写代码时始终要考虑权重问题!*/

      @font-face {
         font-family: 'icomoon';
         src: url('fonts/icomoon.eot?au9n7q');
         src: url('fonts/icomoon.eot?au9n7q#iefix') format('embedded-opentype'),
            url('fonts/icomoon.ttf?au9n7q') format('truetype'),
            url('fonts/icomoon.woff?au9n7q') format('woff'),
            url('fonts/icomoon.svg?au9n7q#icomoon') format('svg');
         font-weight: normal;
         font-style: normal;
         font-display: block;
      }
   </style>

</head>

<body>
   <div class="search-content">
      <a href="#" class="classify"><img src="https://image1.suning.cn/uimg/cms/img/157199320847433454.png" alt=""></a>
      <div class="search">
         <form action="">
            <input type="search" placeholder="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;年货到家">
         </form>
      </div>
      <a href="#" class="login"><img src="https://image2.suning.cn/uimg/cms/img/157199321817918653.png" alt=""></a>
   </div>
   <nav>
      <a href="#"><img src="https://image1.suning.cn/uimg/cms/img/165710989476671143.png?from=mobile" alt=""><span>苏宁家电</span></a>
      <a href="#"><img src="https://image2.suning.cn/uimg/cms/img/161293951076282456.png?from=mobile" alt=""><span>苏宁超市</span></a>
      <a href="#"><img src="https://image2.suning.cn/uimg/cms/img/161293957567317395.png?from=mobile" alt=""><span>手机电脑</span></a>
      <a href="#"><img src="https://image1.suning.cn/uimg/cms/img/165711026680588659.png?from=mobile" alt=""><span>家具家装</span></a>
      <a href="#"><img src="https://image1.suning.cn/uimg/cms/img/165717927411065855.png?from=mobile" alt=""><span>生活家电</span></a>
      <a href="#"><img src="https://image1.suning.cn/uimg/cms/img/168482613923496177.png?from=mobile" alt=""><span>9.9包邮</span></a>
      <a href="#"><img src="https://image2.suning.cn/uimg/cms/img/167721730161114108.png?from=mobile" alt=""><span>场景购</span></a>
      <a href="#"><img src="https://image3.suning.cn/uimg/cms/img/161293963977525820.png?from=mobile" alt=""><span>签到有礼</span></a>
      <a href="#"><img src="https://image2.suning.cn/uimg/cms/img/161293965567020138.png?from=mobile" alt=""><span>领劵中心</span></a>
      <a href="#"><img src="https://image3.suning.cn/uimg/cms/img/161293968063152286.png?from=mobile" alt=""><span>更多频道</span></a>
   </nav>
   <div class="banner">
      <div class="ad1">
         <img src="https://image1.suning.cn/uimg/cms/img/170651576715631608.jpg?from=mobile">
      </div>
      <div class="ad2">
         <a href=""><img src="https://image2.suning.cn/uimg/cms/img/170651578604208050.gif" alt=""></a>
         <a href=""><img src="https://image2.suning.cn/uimg/cms/img/170651629944150641.gif" alt=""></a>
         <a href=""><img src="https://image1.suning.cn/uimg/cms/img/170651632063833232.gif" alt=""></a>
      </div>
   </div>
</body>

</html>

html {
  font-size: 50px;
}
@media screen and (min-width: 320px) {
  html {
    font-size: 21.33333333px;
  }
}
@media screen and (min-width: 360px) {
  html {
    font-size: 24px;
  }
}
@media screen and (min-width: 375px) {
  html {
    font-size: 25px;
  }
}
@media screen and (min-width: 400px) {
  html {
    font-size: 26.66666667px;
  }
}
@media screen and (min-width: 480px) {
  html {
    font-size: 32px;
  }
}
@media screen and (min-width: 540px) {
  html {
    font-size: 36px;
  }
}
@media screen and (min-width: 720px) {
  html {
    font-size: 48px;
  }
}
@media screen and (min-width: 750px) {
  html {
    font-size: 50px;
  }
}
body {
  min-width: 320px;
  margin: 0 auto;
  width: 15rem;
  line-height: 1.5;
  background-color: #f2f2f2;
}
.search-content {
  display: flex;
  width: 15rem;
  height: 1.76rem;
  background-color: #ff0101;
  position: fixed;
  top: 0;
  left: auto;
}
.search-content .classify {
  width: 0.72rem;
  height: 1.2rem;
  margin: 0.22rem 0.5rem 0.14rem 0.48rem;
  line-height: 1.2rem;
}
.search-content .classify img {
  width: 0.72rem;
  height: 1.2rem;
}
.search {
  flex: 1;
}
.search form {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.search form input {
  border: 0;
  height: 1.2rem;
  width: 10.44rem;
  border-radius: 0.66rem;
  background-color: #fff2cc;
}
.login {
  width: 0.72rem;
  height: 1.2rem;
  margin: 0.22rem 0.5rem 0.14rem 0.48rem;
  line-height: 1.2rem;
}
.login img {
  width: 0.72rem;
  height: 1.2rem;
}
nav {
  background: url(https://image1.suning.cn/uimg/cms/img/170651574331670820.gif) no-repeat center;
  background-size: 15rem 6.4rem;
  width: 15rem;
  height: 6.4rem;
  margin-top: 1.76rem;
}
nav a {
  float: left;
  width: 3rem;
  height: 2.84rem;
  text-align: center;
}
nav a img {
  display: block;
  width: 1.68rem;
  height: 1.68rem;
  margin: 0.2rem auto 0;
}
nav a span {
  font-size: 0.5rem;
  color: #333;
}
.banner {
  width: 15rem;
  height: 4.74rem;
}
.banner .ad1 {
  display: flex;
  width: 15rem;
  height: 0.9rem;
}
.banner .ad1 img {
  flex: 1;
  width: 100%;
  height: 100%;
}
.banner .ad2 {
  display: flex;
  width: 100%;
  height: 3.84rem;
}
.banner .ad2 a {
  height: 100%;
  flex: 1;
}
.banner .ad2 a img {
  width: 100%;
  height: 100%;
}

效果:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型重塑车载语音交互:赛道巨头如何引领新周期?

车载语音交互赛道正进入新一轮竞争周期。 高工智能汽车注意到&#xff0c;传统车载语音交互赛道当前基本已进入成熟期&#xff0c;主要为任务型助手&#xff0c;包括从单轮对话到多轮对话&#xff0c;单音区到多音区&#xff0c;从单一的导航、多媒体娱乐等座舱功能扩展智能驾…

[嵌入式系统-6]:龙芯1B 开发学习套件 -3-软件层次架构

目录 一、龙芯软件架构 1.1 通用软件架构 1.2 龙芯软件架构 1.3 龙芯各种应用程序 1.4 龙芯SOC芯片硬件&#xff1a;龙芯1B 1.5 PMON软件 1.6 龙芯IDE管辖的软件 &#xff08;1&#xff09;CPU Core驱动程序 &#xff08;2&#xff09;SOC芯片外设驱动程序 &#xff…

人工智能(pytorch)搭建模型23-pytorch搭建生成对抗网络(GAN):手写数字生成的项目应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型23-pytorch搭建生成对抗网络(GAN):手写数字生成的项目应用。生成对抗网络&#xff08;GAN&#xff09;是一种强大的生成模型&#xff0c;在手写数字生成方面具有广泛的应用前景。通过生成…

Adobe Camera Raw forMac/win:掌控原始之美的秘密武器

Adobe Camera Raw&#xff0c;这款由Adobe开发的插件&#xff0c;已经成为摄影师和设计师们的必备工具。对于那些追求完美、渴望探索更多创意可能性的专业人士来说&#xff0c;它不仅仅是一个插件&#xff0c;更是一个能够释放无尽创造力的平台。 在数字摄影时代&#xff0c;R…

数据结构——栈和队列(C语言)

栈种常见的数据结构&#xff0c;它用来解决一些数据类型的问题&#xff0c;那么好&#xff0c;我来带着大家来学习一下栈 文章目录 栈对栈的认识栈的模拟实现栈的练习方法一方法二 栈 对栈的认识 栈&#xff08;stack&#xff09;是限定只能在表的一端进行插入删除操作的线性…

苍穹外卖项目可以写的简历和如何优化简历

文章目录 重点写中规写添加自己个性的项目面试会问道的问题 我是一名双非大二计算机本科生&#xff0c;希望我的分享对你有帮助&#xff0c;点赞关注不迷路。 简历编写一直是很多人求职人的心病&#xff0c;我自己上学期有一门课程是去校内企业面试&#xff0c;当时我就感受出…

性能脚本设计

性能脚本设计 目标 - 性能脚本设计技巧 1. 为什么要设计性能脚本&#xff1f; 1.1 需求 100虚拟用户对(查询学院-所有)接口测试&#xff0c;以每秒启动10个用户,统计服务器平均响应时间和错误率1.2 问题 100虚拟用户请求服务器的时候&#xff0c;如何统计服务器响应时间和…

Unity_Timeline使用说明

Unity_Timeline使用说明 首先要找到工具吧&#xff1f;Unity2023.1.19f1c1打开如下&#xff1a; &#xff08;团结引擎没找见哪儿打开&#xff0c;可能是引擎问题吧&#xff1f;有知道的同学可以告诉我在哪儿打开&#xff09; Timelime使用流程&#xff1a; 打开之后会提示您…

18.通过telepresence调试部署在Kubernetes上的微服务

Telepresence简介 在微服务架构中,本地开发和调试往往是一项具有挑战性的任务。Telepresence 是一种强大的工具,使得开发者本地机器上开发微服务时能够与运行在 Kubernetes 集群中的其他服务无缝交互。本文将深入探讨 Telepresence 的架构、运行原理,并通过实际的案例演示其…

Python XPath解析html出现⋆解决方法 html出现#123;解决方法

前言 爬网页又遇到一个坑&#xff0c;老是出现乱码&#xff0c;查看html出现的是&#数字;这样的。 网上相关的“Python字符中出现&#的解决办法”又没有很好的解决&#xff0c;自己继续冲浪&#xff0c;费了一番功夫解决了。 这算是又加深了一下我对这些iso、Unicode编…

HarmonyOS使用Web组件加载页面

1、加载网络页面 在Web组件创建时&#xff0c;指定默认加载的网络页面 。在默认页面加载完成后&#xff0c;如果开发者需要变更此Web组件显示的网络页面&#xff0c;可以通过调用loadUrl()接口加载指定的网页。 默认在Web组件加载完“www.baidu.com”页面后&#xff0c;点击按…

flask_django基于python的城市轨道交通公交线路查询系统vue

同时&#xff0c;随着信息社会的快速发展&#xff0c;城市轨道交通线路查询系统面临着越来越多的信息&#xff0c;因此很难获得他们对高效信息的需求&#xff0c;如何使用方便快捷的方式使查询者在广阔的海洋信息中查询&#xff0c;存储&#xff0c;管理和共享信息方面有效&…

python fastapi swagger 连接超时

问题描述 运行python项目时&#xff0c;访问fastapi swagger出现连接超时。 https://cdn.jsdelivr.net/npm/swagger-ui-dist4/swagger-ui.css https://cdn.jsdelivr.net/npm/swagger-ui-dist4/swagger-ui-bundle.js 解决方案 第一步 下载文件 https://pan.baidu.com/s/1Ef…

微信小程序如何实现点击上传图片功能

如下所示,实际需求中常常存在需要点击上传图片的功能,上传前显示边框表面图片显示大小,上传后将图形缩放到边框大小。 实现如下: .wxml <view class="{{img_src==?blank-area:}}" style="width:100%;height:40%;display:flex;align-items: center;jus…

K8S之Pod的介绍和使用

Pod的理论和实操 pod理论说明Pod介绍Pod运行与管理Pod管理多个容器Pod网络Pod存储 Pod工作方式自主式Pod控制器管理的Pod&#xff08;常用&#xff09; 创建pod的流程 pod实操通过资源清单文件创建自主式pod通过kubectl run创建Pod&#xff08;不常用&#xff09; pod理论说明 …

springboot整合mqtt实现消息订阅和推送

前言 mica-mqtt-client-spring-boot-starter是一个基于Spring Boot的MQTT客户端启动器&#xff0c;它集成了mica-mqtt客户端&#xff0c;提供了在Spring Boot应用程序中使用MQTT协议进行消息通信的能力。以下是关于mica-mqtt-client-spring-boot-starter的简介&#xff1a; 特…

Spring-boot项目+Rancher6.3部署+Nacos配置中心+Rureka注册中心+Harbor镜像仓库+NFS存储

目录 一、项目概述二、环境三、部署流程3.1 Harbor部署3.1.1 docker安装3.1.2 docker-compose安装3.1.3 安装证书3.1.4 Harbor下载配置安装 3.2 NFS存储搭建3.3 Rancher平台配置3.3.1 NFS存储相关配置3.3.2 Harbor相关配置3.3.3 Nacos部署及相关配置3.3.4 工作负载deployment配…

在 Android 中使用 C/C++:初学者综合指南

在 Android 中使用 C/C&#xff1a;初学者综合指南 一、为什么有人在他们的 Android 项目中需要 C/C 支持&#xff1f;二、了解 C 如何集成到 Android 应用程序中三、C和Java程序的编译3.1 Java3.2 Android ART 和 DEX 字节码 四、使用 JNI 包装 C 源代码五、CMake和Android ND…

326. Power of Three(3 的幂)

题目描述 给定一个整数&#xff0c;写一个函数来判断它是否是 3 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false。 整数 n 是 3 的幂次方需满足&#xff1a;存在整数 x 使得 n 3 x n 3^x n3x 问题分析 要证明一个整数是三的幂次方&#…

【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】

说明&#xff1a; 仅供学习使用。 一、题目描述 题目共4问&#xff0c;描述网络通信中的 帧传输时延&#xff08;Frame Delay&#xff09;、传播时延&#xff08;Propagation Delay&#xff09;&#xff0c;以及 链接利用率&#xff08;Link Utilization&#xff09; 的相关…