美文网首页
2.替换和不可替换元素,元素的格式化

2.替换和不可替换元素,元素的格式化

作者: yaoyao妖妖 | 来源:发表于2018-07-10 12:52 被阅读0次

替换和不可替换元素

1.替换元素

<img><input><textarea>
<select><object>

1.替换的行内元素具有“内在尺寸”,尺寸是有自身决定的,而不会受周围环境的影响,如<img>和<input>等,但是如果同时定义<img>标签的width属性,和css的width属性,根据层叠原理,css的属性将优先于<img>标签的width属性;替换的行内元素的高度是有height属性决定;

2.非替换元素

2.非替换的行内元素(如 a,span等元素)的宽度是其内容经过浏览器解释后实际的宽度,而不能通过设定width属性为非替换的行内元素设置宽度,非替换的行内元素的高度是有框高度的行高决定的。

3.我们也知道,行内元素设置width,height无效。那么来了img标签、input标签为啥可以设置呢?

他们属于行内替换元素

1. 行内替换元素img input,除了具备行内元素同行并列的特点,他可以设置影响文档流布局的
内外边距以及宽高。且设置高度等同于设置行高,会垂直居中

2.margin 行内元素的边距,不会合并(替换非替换)。不同于块级元素,会合并上下,
左右边距。

盒模型

1.盒模型需要弄清的几个概念

1. 标准盒模型宽高指的是盒模型中内容的高度,盒模型指的是盒子在网页中占得的大小,当改变
margin,border,padding时,盒子的宽高不会改变,但是盒子在网页中占据的空间会变大。

2. IE盒模型宽高指的是盒模型中内容的高度+padding+border,根据Doctype确定是哪种盒子。

3. min-width/max-width有兼容性问题,IE不支持

4. 可以设置宽高的元素只有块级元素和替换元素。(img, input, textarea)

5. 垂直方向,两个相邻的元素都设置外边距,外边距会发生合并。

6. 内联元素和使用display:inline设置为内联元素的宽高无效,垂直方向的padding,margin
 无效,水平方向的padding,margin有效。

7. 块级元素和使用display:block设置为块级元素的padding,margin,width,height都生效。

8.  display:inline-block,元素呈现为inline,但是具有block特性。

9.  对于块级元素,设置height=line-height,可以垂直居中。

10. 盒子模型当只设置了宽或者高没有设置的时候,默认为auto,那么这个属性值是由盒子模型
 的内容和子元素的内容决定的,但是浮动的子元素不能撑开盒子。

html文档中的每个元素都被描绘成矩形盒子,盒模型通过四个边界来描述:margin(外边距),border(边框),padding(内边距),content(内容区域)


image.png
2.1 元素背景区域

如果边框的颜色为透明,背景将应用于内容,内边距和边框组成的区域。

2.2 水平格式化

非替换元素的水平格式化

水平格式化的7大属性值加起来是父级元素的width值
margin-left
border-left
padding-left
width
padding-right
border-right
margin-right
2.2其中margin-left,width,margin-right可以设置为auto。
1.如果三个属性中某个属性设置了auto:

设置auto的属性值=width-另外两个确定的值

2.三者的值都确定了但是总和不等于父级元素的width

在FF中,margin-right的值为开发者设定的值
在Chrome中,margin-right被强制为auto

3.如果margin-left和amrgin-right都设置为auto

margin-left和amrgin-right会设置相等的值,因此元素将在父级元素中居中,
注:text-align设置为center只适用于块级元素中的内联内容居中,并不能使块级元素居中。

4.某个外边距和width设置成auto

设置为auto的外边距会为0,width会设置为所需的值来填充父级元素。

5.全设置成auto

两个外边距会设置为0,width会尽可能宽。

6.负外边距

7个属性只要都是大于等于0的值,总和总是等于父级元素的width,不会超过父级元素的区域
但是可以通过制定负外边距来得到比父级元素width更大的区域
margin设置负值那么整个盒子的宽度会变大

替换元素的水平格式化

替换元素的水平格式化规则和非替换元素的规则类似,只有一个width有区别,如果width设置为auto,则元素的宽度是内容的固有宽度。注意:对于img标签,如果width不等于其固有宽度,则height也会等比例增加,除非设置特定值。反过来如果height设置高度,width也会等比例增加

2.3 垂直格式化的7大属性值加起来是父级元素的width值
margin-top
border-top
padding-top
height
padding-bottom
border-bottom
margin-bottom

其中margin-top,margin-bottom和height可以设置成auto

一个正常流中的块元素的margin-top和margin-bottom设置为auto后,会被设置为0,即不能将元素垂直居中,实际上元素没有外边距。定位元素如果设置成auto有不同的处理结果。

相关文章

  • 2.替换和不可替换元素,元素的格式化

    替换和不可替换元素 1.替换元素 1.替换的行内元素具有“内在尺寸”,尺寸是有自身决定的,而不会受周围环境的影响,...

  • 可替换元素

    可替换元素和不可替换元素 从元素本身的特点来讲,可以分为可替换元素(replaceable element)和不可...

  • 替换元素和不可替换元素

    1、 替换元素 替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。 例如:浏览器根据src属性值来...

  • 关于可替换元素和不可替换元素

    根据MDN查询的定义,可替换元素是指元素内容的展现不是由CSS来控制的,而是外观渲染独立于CSS的外部对象。 简而...

  • CSS Replaced Object

    可替换元素(Replaced Object) CSS中的可替换元素指的是其内容不受到CSS视觉格式化模型控制的元素...

  • splice 用法

    splice 的功能: 删除元素/ 插入元素/ 替换元素 删除元素的用法: 替换元素 插入元素, 和替换元素的差别...

  • CSS2.1大纲梳理(1)

    元素 替换元素和非替换元素 替换元素 用来替换元素的内容并非由文档内容直接表示。如:img、input、texta...

  • line-height

    参考文章 1. 替换元素vs非替换元素 先讲个题外话,理解一下替换元素和非替换元素.替换元素:浏览器根据元素的标签...

  • css权威指南笔记

    html元素分为替换元素和非替换元素img元素就是个替换元素,显示内容由外部提供span是个非替换元素,内容由用户...

  • css和文档

    元素(Element)是文档结构的基础。 替换元素和非替换元素。 替换元素:用来替换内容的部分并非由文档内容直接表...

网友评论

      本文标题:2.替换和不可替换元素,元素的格式化

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