CSS入门(3)

作者: 飘飘流浪者 | 来源:发表于2017-08-10 12:03 被阅读0次

    块级元素和行内元素有什么区别?

    • 块级元素会占据一行的位置,其宽度自动填满其父元素宽度;行内元素不会独占一行,相邻的行内元素会排在同一行,其宽度随元素的内容而变化。
    • 宽高只对块级元素设置生效,对行内元素无效。块级元素即使设置了宽度,仍然是独占一行。
    • 块级元素可以设置margin和padding属性;行内元素起边距作用的只有margin-left、margin-right、padding-left、padding-right,其上下padding会延伸出去,但不会增加上下两行间的距离。
    • 块级元素对应于display:block;行内元素对应于display:inline。

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

    • float属性指定一个元素应沿其容器的左侧或右侧放置,文本和内联元素将围绕它。
    • 对于其父元素来说,元素浮动之后,它脱离当前正常的文档流,所以它也无法撑开其父元素,造成父元素的塌陷。
    • 同一个方向的浮动元素:当一个浮动元素在浮动过程中碰到同一个方向的浮动元素时,它会紧跟在它们后面
    • 反方向的浮动元素:互不影响,位于同一条水平线上,当空间不够时会被挤下。
    • 如果兄弟元素为块级元素,该元素会忽视浮动元素的而占据它的位置,并且元素会处在浮动元素的下层,但它的内部文字和其他行内元素都会环绕浮动元素。如果如果兄弟元素为内联元素,则元素会环绕浮动元素排列。
    • 对文字:文字环绕浮动元素。

    清除浮动指什么? 如何清除浮动? 两种以上方法

    • 由于浮动的副作用1.对后续元素位置产生影响;2. 父容器高度计算出现问题,所以需要清除浮动。
    • clear:left/right/both:适用于浮动和非浮动元素,表示如果该元素前面有左/右浮动元素,则该元素出现于其下方。clear规则只影响使用清除的元素本身,不能影响其他元素。
    • 给需要清除浮动的元素设置一个伪元素。
    .clearfix::after {
      content:'';
      display: block;
      clear: both;
    }
    

    将伪元素设置为块属性以撑开父容器。

    有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?

    1. position: static 默认值 默认的布局方式。具有文档流。
    2. position: relative 相对定位 相对默认的布局位置进行定位。即相对自己定位。参考点是自己。在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间,因此移动元素会导致它覆盖其它框。
    3. position:absolute 绝对定位 绝对定位元素脱离正常文档流,相对其定位上下文(Positioning Context)进行定位。定位上下文就是值绝对定位元素相对哪个元素定位,默认的定位上下文是 <html>。假如你想设定某个绝对定位元素的定位上下文,则需要在这个元素的某个祖先元素上设置 position: relative。如果设置了absolute但没有设置值,那么使用了absolute的元素在页面中的位置不会改变,但已经脱离了文档流,与普通流已不在一个index-z层面上,因此不占据空间。
    4. position:fixed 固定定位 相对浏览器窗口进行定位。因此当滚动产生时,固定定位元素依然处于窗口的某个固定位置。

    z-index 有什么作用? 如何使用?

    • z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。该属性设置一个定位元素沿z轴的位置,z轴定义为垂直延伸到显示区的轴。
    • 当你定义的CSS中有position属性值为absolute、relative或fixed,用z-index取值方可生效。此属性参数值越大,则被层叠在最上面。

    相关文章

      网友评论

        本文标题:CSS入门(3)

        本文链接:https://www.haomeiwen.com/subject/rmyfrxtx.html