常用单位、各种定位


PX(固定单位)

单位名称为像素,绝对长度单位,像素px是相对于显示器屏幕分辨率而言的。像素的使用性特别广。使用px定义文字,无论用户怎么设置,都不会改变大小。

 

em(是所在标签的字体大小,多少em就是代表多少倍)

单位名称为相对长度单位。它没有一个固定数值,支持小数点后三位数,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。需要注意的是:若父级单位用了em,且设置了文本大小,这父级大小会随文本大小而改变,会继承父级元素的字体大小。

rem(相对于根元素【html】字体大小的倍数)

适用场景:移动端开发

是CSS3新增的一个相对单位(root em,根em),是相对HTML根元素。通过它既可以做到只修改根元素就可以成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

vh(多少vh就取多少百分比)(一般情况下运用于宽和高)

1vh=视口高度的1%

vw

1vw=视口宽度的1%

1、定位体系的意义

  CSS2.1中,一个框(box,就是元素形成的方块等)可以根据三种定位体系布局。CSS2.1中的定位体系帮助作者使他们的文档更容易理解,并不需要使用标记的手段(如,不可见的图片)达到布局的效果。   格式化上下文决定了可视化格式模型中框的形式,定位体系布局决定了这些框在页面中如何布局。

2、定位体系的分类

  元素在布局时,根据3种定位体系定位。分别是,常规流、浮动和绝对定位。

3、常规流:( Normal flow )

  常规流,是对 normal flow的直译。   流者,动也。偏旁是三点水,说明,跟水有关系,水的流动是连续不间断的,也是有先后顺序的。在这里,我们把它当作可以流动的(位置可变),有先后顺序(元素顺序加载)的体系。在文档加载的时候,好像流水似的,一点点的漫过整个画布。还有一种说法是,浏览器在解析HTML CSS JS 的时候的一个流式的过程,从html起始标签开始 到html结束标签截止。

  之所以是常规,是因为,这是相对于后面的浮动和定位的一个概念,浮动和定位元素都脱离了当前的常规流。   在 CSS2.1中,常规流包括块框(block boxes)的块格式化(blok formatting 后续会讲到),行内框(inline boxes)的行内格式化(inline formatting 后续会讲到),块框或行内框的相对定位,以及插入框的定位。

  在 CSS 中,元素定义的环境有两种,一种是块格式化上下文( Block formatting context ),另一种是行内格式化上下文( Inline formatting context )。 这两种上下文定义了在 CSS 中元素所处的环境,格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即在常规流中的框,都属于一个格式化的上下文中等。

4、浮动(Floats)

浮动,顾名思义,相对于常规流来讲,它漂浮在常规流的上方。因为它不再处于文档流中,所以它不占据空间。

  在浮动模型中,一个框(box)首先根据常规流布局,再将它从流中取出并尽可能地向左或向右偏移。内容可以沿浮动区的侧面排列。因为它首先要根据常规布局后才偏移,所以效率较常规流低。   用 ‘float’ 特性声明浮动,特性值可以是:”none”、”left”、”right”。

5、绝对定位(Absolute positioning)

  在绝对定位模型中,一个框(box)整个地从常规流向中脱离(它对后续的兄弟元素没有影响),并根据它的包含块来分配其位置。

6、选择定位方案

  ‘float’和’position’特性决定了使用哪种CSS2.1定位算法来计算框的位置。   不同的position选择不同的定位算法。

属性 示例 描述
color color:red 设置元素内容的颜色
text-align text-align:center 设置元素内容的对齐方式
font-size font-size:28px 设置元素内容的文字大小
font-weight font-weight:bold 设置元素内容的文字粗细
background-color background-color:red 设置元素的背景颜色

7.层叠

1.声明冲突:当相同属性名不同属性值应用于同一个元素,就是产生声明冲突。此时浏览器就会自动触发层叠机制。

  • 层叠的过程

    1.比较优先级:与来源和重要性(!important)【书写要放在想要赋值的元素的分号之前】相关

    2.比较特殊性

    每一个声明都有一个特殊性(specificity)。一个声明的特殊性,取决于规则适用范围的大小,规则适用范围越大,特殊性越低,适用范围越小,特殊性越高(行内样式>ID选择器>类选择器,伪类选择器>元素选择器>通配符选择器)

    a:若声明是行内样式。0则为1,否则为0(统计每一个的个数)

    b:规则中ID选择器的个数

    c:规则中类选择器,伪类选择器和属性选择器的个数

    d:规则中元素选择器,伪元素选择器的个数

    3.比较源次序

谁写在后面谁就有更高的优先级

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM