CSS

CSS盒子模型(Box Model)

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。

  • Border(边框) - 围绕在内边距和内容外的边框。

  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。

  • Content(内容) - 盒子的内容,显示文本和图像。

  • 最终元素的总宽度计算公式:

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

  • 元素的总高度最终计算公式:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

CSS 边框属性

CSS边框属性允许你指定一个元素边框的样式和颜色

边框样式

border-style属性用来定义边框的样式

边框宽度

通过 border-width 属性为边框指定宽度

指定宽度的两种方法:

  1. 指定长度值,比如 2px 或 0.1em(单位为 px, pt, cm, em 等)

  2. 使用 3 个关键字之一,它们分别是 thick 、medium(默认值) 和 thin

注意:CSS 没有定义 3 个关键字的具体宽度,所以一个用户可能把 thick 、medium 和 thin 分别设置为等于 5px、3px 和 2px,而另一个用户则分别设置为 3px、2px 和 1px。

边框颜色

border-color属性用于设置边框的颜色

  • name - 指定颜色的名称,如 "red"

  • RGB - 指定 RGB 值, 如 "rgb(255,0,0)"

  • Hex - 指定16进制值, 如 "#ff0000"

注意: border-color单独使用是不起作用的,必须得先使用border-style来设置边框样式。

例子:

边框-单独设置各边

border-style属性可以有1-4个值:

border-style:dotted solid double dashed;

  • 上边框 dotted

  • 右边框 solid

  • 底边框 double

  • 左边框 dashed

border-style:dotted solid double;

  • 上边框 dotted

  • 左、右边框 solid

  • 底边框 double

border-style:dotted solid;

  • 上、底边框 dotted

  • 右、左边框 solid

border-style:dotted;

  • 四面边框是 dotted

border-style可以和border-width 、 border-color一起使用。

简写属性
  • border-width

  • border-style (required)

  • border-color

例子:border:5px solid red;

margin(外边距)

  • margin 清除周围的(外边框)元素区域。

  • margin 没有背景颜色,是完全透明的。

  • margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。

值:

Margin - 单边外边距属性

可以指定不同侧面的边距

简写

边距的属性:

padding(填充)

它是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。

可能取的值:

侧面填充:padding-top、padding-bottom、padding-right、padding-left

简写属性:

CSS Position(定位)

该属性指定元素的定位类型。

position的五个值:

  • static(静态定位)

    HTML 元素的默认值(没有定位),遵循正常的文档流对象。不会受到 top, bottom, left, right影响。

  • relative

    相对定位元素的定位是相对其正常位置。

    移动相对定位元素,但它原本所占的空间不会改变。

    相对定位元素经常被用来作为绝对定位元素的容器块。

    其实就是相对原来的位置来移动,不以左上角为圆点的位置进行移动,而以自身的位置来进行移动。

  • fixed

    位置相对于浏览器窗口是固定位置,即窗口是滚动的它也不会移动。

    该属性定位的元素的位置与文档流无关(不占据空间,主要是以其自己的空间进行排布)

    定位的元素和其他元素重叠(可以理解为不在同一面上,因此元素间会重叠起来)

  • absolute

    绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于

    absolute 定位使元素的位置与文档流无关,因此不占据空间。

    absolute 定位的元素和其他元素重叠。

  • sticky(粘性定位)

    基于用户的滚动位置来定位。(在 position:relativeposition:fixed 定位之间切换)

    当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

    指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位(relative)相同。

重叠的元素

z-index属性指定了一个元素的堆叠顺序,顺序可以为正为负。

具有更高堆叠顺序的元素总是在较低的堆叠顺序元素的前面。

CSS Float(浮动)

该属性会使元素向左或向右移动,其周围的元素也会重新排列。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。附近的元素将围绕它(文本流将环绕在它浮动相反方向处)

把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

清除浮动(clear)

使用该属性为了避免周围元素会重新排列,clear属性指定元素两侧不能出现浮动元素(clear:both)其他的值left、right、both、none、inherit

资料:CSS

你可能感兴趣的:(CSS)