CSS块级元素与行内元素

CSS块级元素与行内元素

行内元素与块状元素

  1、块级元素:可以设置 width, height属性。
     行内元素:设置width和height无效,其宽度随其元素的内容(文字或者图片等)的宽度而变化。
     可以通过line-height设置行高(行高和height是不同的东西)。

  2、块级元素:可以设置margin和padding。
     行内元素:水平方向margin和padding有效,竖直方向margin和padding无效。

  3、块级元素:默认独占用一行。默认高度为内部内容高度(没有内容时就为0px),宽度为父容器的100%。
     行内元素:与其他元素占用一行。

  4、块级元素:可以容纳内联元素和其他块元素。
     行内元素:只能容纳文本或者其他内联元素。

  5、块状元素:能定义宽度、高度、边距等
     行内元素:与其他元素占用一行。

display属性

  1、块元素默认display:block;
    行内非替换元素(a,span)默认为display:inline;
    行内替换元素(input)默认为display:inline-block;

  2、display:none;不显示该元素,也不会保留该元素原先占有的文档流位置。
    display:block;转换为块级元素。
    display:inline;转换为行内元素。
    display:inline-block;转换为行内块级元素。

float


当把行内元素设置完float:left/right后,该行内元素的display属性会被赋予block值,且拥有浮动特性。
行内元素去除了之间的莫名空白。

 float脱离文档流(与absolute和relative不同):其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。

position


当为行内元素进行定位时,position:absolute与position:fixed.都会使得原先的行内元素变为块级元素。

1.     Absolute:绝对定位,是相对于最近的且不是static定位的父元素(注:并不一定是relative)来定位。脱离文档流(不占用空间)

2.     Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会跟屏幕一起滚动。脱离文档流(不占用空间)

3.     Relative:相对定位 - 相对自身的定位。注意:设置偏移后,不改变原占用的空间。 不脱离文档流(占用空间)

4.     Static:默认值,没有定位。

5.     Inherit:继承父元素的position值。

原文地址:https://www.cnblogs.com/caoshouling/p/8644821.html