CSS权威指南(八)基本元素框

文章目录

  • 1.基本元素框
  • 2.内边距
  • 3.边框
  • 4.轮廓
  • 5.外边距

1.基本元素框

   文档中每个元素都会生成一个矩形框,我们称之为元素框。这个框体描述元素在文档布局中所占的空间。因此,元素框之间是有影响的,涉及位置和尺寸。

(1)宽度和高度

   通常,我们会明确定义一个元素的高度,但是鉴于一定的历史原因,往往不明确定义元素的高度。默认情况下,元素的宽度指从左内边界到右边界的距离,元素的高度指从上内边界到下内边界的距离。

ps.这两个属性无法应用到行内非置换元素上

2.内边距

   紧邻元素内容去的是内边距,位于内容和元素框之间。设定内边距最简单的方法是使用padding属性。

(1)复值

   padding属性可分别指定四个方向的内边距值,像是padding: 10px 10px 10px 10px; 这样,顺序一次是上、右、下、左,实际上就是从上开始的顺时针顺序。CSS也考虑到了值少于四个的情况:

  • 没有针对左边的值,使用针对右边的值
  • 没有针对底边的值,使用顶边的值
  • 没有针对右边的值,使用顶边的值

(2)单边内边距

   除了使用复值分别定义内边距外,CSS还提供了单独针对某一边的属性:padding-top,padding-right,padding-bottom,padding-left。

(3)行内元素的内边距

   内边距属性对行内元素的纵向不生效,也就是内边距不会改变行内元素的行高,但是对行内元素的背景可以看到内边距设置的效果。

(4)置换元素

   置换元素同样可以设置内边距

3.边框

   元素的内边距之外是边框。边框是元素内容和内边距周围的一到多条线段。默认情况下,元素的背景在边框的外边界处终止,不会延伸到外边距区域。边框在外边距内侧。边框有三个要素:宽度、式样、颜色。边框的默认宽度为medium,通常为2px。但是通常看不到边框,因为边框的式样为none。默认的边框颜色是元素自身的前景色。如果没有为边框声明颜色,则默认与元素中的文本颜色相同。如果元素没有文本,则继承父元素的文本颜色。

(1)边框的式样

   边框的式样共有10种,包括默认值none。其中hidden的值等价于none,但解决表格边框冲突的方式稍有不同。

  • double,双线,两条线的宽度加上二者之间的间隙等于border-width的值。

image-20230111121034843

(2)多重样式

   一个边框可以有多重样式,与padding一样,也是上右下左的定义顺序,也同padding一样,可以使用单边属性设置单独一边的边框样式。

p {
    border-style: solid dashed dotted solid;
}

(3)行内元素的边框

   也同padding一样,行内元素的border属性不会改变行内元素的行高。

(4)圆角边框

   元素边框的角是直的,可以使用border-radius属性定义一个圆角半径,把边角变得圆滑一些。同时border-radius属性也支持四个值,顺序依次是左上、右上、右下、坐下。填充的方式也和padding一样。

(5)图像边框

  • 加载和裁剪边框图像:border-image-source指定资源位置,border-image-slice设置裁剪方式,border-image-width调整图片宽度。

(6)外推边框

   border-image-outset为了防止图像边框无法显示,使用外推边框可以将边框退至图片边框的范围外,从而退化会线性边框。

(7)调整重复方式

   border-image-repeat可以调整图片的重复方式

4.轮廓

   轮廓一般直接绘制在边框外侧。

  • 轮廓不占空间
  • 轮廓可以不是矩形
  • 用户代理元素通常在元素处于:focus状态时渲染轮廓
  • 轮廓更极端,无法单独为一边设置独特的轮廓

(1)轮廓式样(outline-style)

(2)轮廓宽度(outline-width)

(3)轮廓颜色(outline-color)

(4)轮廓与边框的区别

  • 轮廓对布局完全没有影响,任何影响都没有。轮廓只是视觉上的效果。

5.外边距

   外边距在元素周围添加额外的空白。空白一般指其他元素不能共存的区域,而且在这片区域中,父元素的背景是可见的。设定外边距最简单的方法是使用margin属性。外边距的四个属性值的顺序同样是上右下左,同时也可以单独设置单边的外边距。同时元素的外边距可以设置为负值,设置为负值的外边距可能会使元素从父元素中冒出来,或者与其他元素重叠。

你可能感兴趣的:(读书笔记#CSS权威指南,css,前端,css3)