博客列表 >初识选择器权重、盒模型、字体单位、视口单位

初识选择器权重、盒模型、字体单位、视口单位

kong
kong原创
2023年02月10日 00:08:47379浏览

选择器权重、盒模型、字体单位、视口单位

层叠样式表

三位整数

百位:权重100
十位:权重10
个位:权重1

原子选择器

  1. tag 标签选择器,相当于“个位”
  2. class 类标签选择器,相当于“十位”
  3. id ID选择器,相当于“百位”

权重换算

0,0,1: id -> 0, class -> 0, tag -> 1

演示

  1. 0,0,1
  2. <h3>标题</h3>
  3. h3{}
  4. 0,1,1
  5. <h3 class="title">标题</h3>
  6. h3.title{}
  7. 1,1,1
  8. <h3 class="title" id="title">标题</h3>
  9. h3#title.title{}

盒模型

一切皆盒子

常用的五大属性

  1. width: 宽
  2. height: 高
  3. border: 边框
  4. margin: 外边距
  1. <div class="box">box</div>
  2. .box{
  3. width: 100px;
  4. height: 100px;
  5. border: 1px solid #ddd;
  6. margin: 10px; //四边都是10px
  7. margin: 10px 5px 15px; //上10px 右5px 下15px 左5px
  8. margin: 10px 5px; //上下10px 左右5px
  9. }

盒大小计算方式

标准计算方式:宽度 + 内外边距 + 边框
注意:显示的打小 != 源码的大小

单位

box-sizing: 设置盒模型计算边界

  1. content-box: 默认值,仅包括内容区
  2. border-box: 推荐值,宽高扩展到可视边框
  1. <div class="box">box</div>
  2. .box{
  3. width: 100px;
  4. height: 100px;
  5. padding: 10px;
  6. border: 1px solid #ddd;
  7. box-sizing: content-box;
  8. }

通用初始样式

  1. *{
  2. margin: 0;
  3. padding: 0;
  4. box-sizing: border-box;
  5. }

em rem

不管css 使用了什么单位,浏览器统统转为“px”像素

em与所在位置有关
默认1em = 16px;

子元素会根据父元素字号的大小去重新计算,例如:

父元素 20px = 1.25em
子元素 2em = 40px

  1. .box{
  2. font-size: 1.25em; //20px
  3. }
  4. .box > *{
  5. font-size: 2em; //40px
  6. }

rem只和根元素字号相关
默认rem = 16px;

rem会根据根元素字号去计算,例如:

父元素 20px = 1.25rem
子元素 1rm = 16px

  1. .box{
  2. font-size: 1.25rem; //20px
  3. }
  4. .box > *{
  5. font-size: 2rem; //32px
  6. }

个人觉得还是使用rem比较方便

视口单位:vh/vw

vh = 视口高度
vw = 视口宽度
1vw = 视口的1%

calc() 自动计算 运算符两边要加空格

  1. <div class="top"></div>
  2. <div class="cont"></div>
  3. <div class="bottom"></div>
  1. .top{
  2. width: 100vw;
  3. height: 10vh;
  4. }
  5. .bottom{
  6. width: 100vw;
  7. height: 10vh;
  8. }
  9. .top{
  10. width: 100vw;
  11. height: calc(100vh - 20vh);
  12. }
上一条:定位及其flex下一条:02116 常用标签-2
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议