zoukankan      html  css  js  c++  java
  • CSS 文档流布局以及盒子模型

    页面布局 layout

    文档流(normal flow)
    网页是一个多层结构,一层叠着一层。通过CSS可以分别为每一层设置样式,而我们作为用户之只看到最上面这层
    在这些层中,最底下的一层被称为文档流,文档流是网页的基础。我们所创建的元素默认都是在文档流中的。
     
    元素在页面中主要有两个状态
    1、在文档流中
    2、不在文档流中(脱离文档流)
    元素在文档流中的特点:
    块元素:
    • 块元素在文档流中独占一行,块元素在页面中独占一行
    • 默认宽度是父元素的全部(会把父元素撑满)
    • 默认高度被内容撑开(子元素)
    行元素:
    • 行内元素不会独占页面一行,只占自身大小;
    • 行内元素在页面中水平向右排列,如果一行之中不能容纳的下所有行内元素,则元素会换到第二行继续自左向右排列。
    • 行内元素默认的高度和宽度都是被内容撑开。

    盒子模型(box model)

    盒子模型(框模型):CSS将页面中的所有元素都设置为一个矩形的盒子,将所有元素设置为矩形盒子后,对页面的布局就变成将不同的盒子摆放到不同的位置。每一个盒子都由以下几个部分组成。
     
    内容区 content
    内边距 padding
    边框 border
    外边框 margin
    注意:content、padding、border决定了盒子的大小,而外边距 margin 决定了盒子的位置。

    一、内容 content

    内容区(content) 元素中的所有子元素和文本内容都在内容区中排列,内容区的大小由 width和height 来决定。

    width、height属性用以设置内容区的宽度和高度

    二、边框 border

    边框(border)边框属于盒子边缘,边框里面属于盒子的内部,出了边框都是盒子的外部,要设置边框至少需要三个样式。 

    • 边框的颜色 border-width
    • 边框的颜色 border-color 
    • 边框的样式 border-style  

    1、 border-width 有默认值,一般是3个像素(必须写,会使用各个浏览器的默认值)

    border-width可以用来指定四个方向的边框宽度

    • 四个值:上、右、下、左(顺时针方向)border- 1px 2px 3px 4px;
    • 三个值:上、左右、下 border- 1px 2px 3px
    • 两个值:上下、左右   border- 1px 2px 
    • 一个值:上下左右(四个边) border- 1px 

    除了border-width 还有一组 border-xxx-width,xxx可以是 top、right、left、bottom,用来单独指定某一个边的宽度

    2、 border-color 用来指定边框的颜色,同样可以分别指定四个边的边框,规则和 border-width 相同

    border-color 可以省略不写,如果省略了就会自动使用 color的默认值

    3、 border-style 指定边框的样式,不可以不设置,因为border-style的默认值是 none(没有)

    • solid 实线
    • dotted 点状虚线
    • dashed 虚线
    • double 双实线

    border 简写属性:

    border  通过 设置该属性可以同时设置边框所有的相关样式,并且没有顺序要求

    除了border 之外还有四个 border-xxx

    • border-top
    • border-right
    • border-bottom
    • border-left

    三、内边距 padding

    内容区和边框之间的距离是内边距

    一个有四个方向的内边距

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

    内边距的设置会影响盒子的大小

    背景颜色会延伸到内边距上,内边距默认是透明的 transparent

    一个盒子的可见框大小,由内容区、内边距、边框共同组成,所以在计算盒子大小的时候,需要将这三个加到一起计算。

    padding 内边距的简写属性,可以同时指定四个方向的内边距。

    四、margin 外边距

    外边距不会影响可见框的大小,但是外边距影响的是盒子的位置。影响实际占用网页空间的大小。元素有四个方向的外边距:

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

    注意:默认情况下设置 margin-right 不会产生任何效果

    left 左外边距,设置正值,元素会向右边移动;top 上外边距,设置正值,元素会向下移动

    元素在页面中会按照自左向右顺序排列,所以默认情况下如果设置的是 左上,移动的是元素自身。

    设置其他 下和右外边距会移动其他元素,把别的元素挤开。margin-top 和 margin-left挤开别人

    margin-bottom 下外边距,设置正值,下边的元素会向下移动,如果是负值元素会向相反的方向移动。

    简写属性

    margin 直接设置四个边的外边距
     
  • 相关阅读:
    CS round--36
    Vijos 1002 过河 dp + 思维
    汇编模拟36选7
    1137
    E. Mike and Foam 容斥原理
    Even-odd Boxes hackerrank 分类讨论
    112. 作业之地理篇 最小费用最大流模板题
    1550: Simple String 最大流解法
    Sam's Numbers 矩阵快速幂优化dp
    java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
  • 原文地址:https://www.cnblogs.com/nyw1983/p/12404967.html
Copyright © 2011-2022 走看看