美文网首页
day03_CSS基础(3)

day03_CSS基础(3)

作者: Threejs开发者 | 来源:发表于2018-03-11 00:36 被阅读0次

    一、盒子模型组成

    盒子模型的组成有4部分组成:元素(内容)、内边距、外边距、边框。

    <img src="media/box.gif" width="700" />

    下面分别介绍这4部分。

    1.1 边框(border)

    语法:

    border (宽度, 线类型(虚线/实线) 边框颜色);
    

    举例:

    /* 设置底部边框:1像素粗度,实线,灰色 */
    border-bottom: 1px solid #ccc;
    

    1)border类型:

    • border-top(上边框)
    • boder-bottom(下边框)
    • boder-left(左边框)
    • boder-right(右边框)

    2)线类型

    • solid(实线)
    • dashed(虚线)
    • dotted(点线)

    1.2 内边距(padding)

    语法:

        padding 像素值;
    

    示例:

    /* 设置内边距15px */
    padding: 15px;
    

    padding类型

    • padding-top
    • padding-bottom
    • padding-left
    • padding-right

    注意:

    • 增加内边距会撑大盒子,使盒子的总高(宽)度增加。
    • 如果不指定盒子的宽度,那么增加内边距,不会影响盒子的总宽度。如果要在宽度上增加内边距,如果不指定盒子宽度,则盒子的宽度将不会改变。

    1.3 外边距(margin)

    语法:

    margin 像素值;
    

    示例:

    margin: 15px;
    

    margin类型

    • margin-top
    • margin-bottom
    • margin-left
    • margin-right

    二、盒子的特性

    2.1 盒子的高度

    高度(宏观上看这个盒子) = 内容的高度 + 内边距(下) + 内边距(上) + 边框(下) + 边框(上) 。

    2.2 盒子的宽度

    宽度(宏观上看这个盒子) = 内容的宽度 + 内边距(左) + 内边距(右) + 边框(左) + 边框(右) 。

    2.3 盒子居中

    2.3.1 盒子内容水平居中

    1)文本文字
    text-align: center。

    2)盒子
    设置子盒子的左右外边框(margin)为auto。

    2.3.2 盒子内容垂直居中

    1) 文本文字
    让文字的行高等于盒子高即可。

    2)背景图片
    设置背景图片的位置属性,Y轴上center。

    2.4 外边距塌陷和合并

    2.4.1 外边距塌陷

    <img src="media/www.png" />

    目标:
    A和B150px。

    做法:
    两个div垂直盒子布局,上面的盒子A和下面的盒子B。如果设置,A的margin-bottom=100px;
    B的margin-top=50px。那么A和B的实际距离等于100px。原则即为取两个盒子外边距距离最大的为最后结果。

    解决:
    尽量避免。设置A的margin-bottom 150px。或者 B的margin-top=150px

    2.4.2 外边框合并

    <img src="media/n.png" />

    对于两个嵌套盒子。如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。
    解决方案:

    1. 可以为父元素定义1像素的上边框或上内边距。
    2. 可以为父元素添加overflow:hidden。

    相关文章

      网友评论

          本文标题:day03_CSS基础(3)

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