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=" 年货到家"></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%;
}
效果: