CSS基础知识 | 青训营笔记

77 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第2天

CSS选择器权重

权重计算规则

第一等:代表内联样式,如: style=””,权值为1000。

第二等:代表ID选择器,如:#content,权值为0100。

第三等:代表类,伪类和属性选择器,如.content,权值为0010。

第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。

通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。

继承的样式没有权值。

浮动

float 浮动

none      默认  不浮动
left        左浮动
right       右浮动

清除浮动

给有浮动的子元素的父元素加height
给有浮动的子元素的父元素加overflow:hidden
给所有有浮动的元素最后增加一个空元素,给该空元素加样式clear:left / right / both

clear:left 清除左浮动

clear:right 清除右浮动

clear:both 清除左右浮动

clear:none 不清除浮动

给有浮动的子元素的父元素增加伪元素,在伪元素里增加样式

::after{

display:block;

content:””;

clear:both;

}

定位

定义

定位是一种布局手段,而且是一种高级的布局手段;

可以用position属性来设置定位

可选值:

不开启定位: static 默认值 不设置定位

开启定位:
relative 相对定位

absolute 绝对定位

fixed 固定定位

sticky 粘滞定位

有绝对定位元素的包含框无定位,该元素相对于浏览器定位
有绝对定位元素的包含框有定位,该元素相对于离自己最近的有定位的包含框定位

fixed       固定定位    始终相对于浏览器定位

借助left、right、top、bottom这四个值改变元素位置

z-index 值:数字 z轴的排列顺序 z-index值越大越在最上层

特点

position:relative 开启相对定位后的特点:

如果不设置偏移量,元素的位置不发生任何改变
设置偏移量,偏移量的相对位置是相对于元素原来在文档流中的位置
设置相对定位后,元素的性质不发生改变,不脱离文档流
设置相对定位后,元素的层级会提高

position:absolute 开启绝对定位后的特点:

元素脱离文档流
元素的性质发生变化,不区分块还是行内元素了
如果不设置偏移量,元素的位置不发生变化
原点是相对于其包含块来定位的
元素的层级提高

一般情况下,设置了元素的绝对定位,会相应设置其父元素的相对定位,我们叫做“子绝父相”。

    包含块:
    1、默认情况下(没有定位的情况下),包含块就是元素的祖先元素;
    2、如果是定位的情况下,包含块就是元素的开启了定位的,离它最近的祖先元素;
    如果祖先元素都没开启定位,包含块就是跟标签(html)。

position:fixed 开启元素的固定定位后的特点:

用于固定在浏览器页面上,不随浏览器的滚动而改变位置
以浏览器为参照物,和父元素没有任何关系
脱离文档流,更改了元素的性质

position:sticky 开启元素粘滞定位后的特点:

以浏览器为参照物(体现固定定位特点)
占有原来位置(体现相对定位特点),不脱离文档流
粘滞定位可以在元素到达某个值时,将其固定
未到达top值之前正常显示,达到之后类似于固定定位