替换元素和非替换元素(置换元素和非置换元素)

一、置换元素/替换元素

1.一个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素。

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

  2. 例如浏览器会根据img标签的src属性的值来读取图片信息并显示出来,而如果查看(X)HTML代码,则看不到图片的实际内容;又例如根据input标签的type属性来决定是显示输入框,还是单选按钮等。

  3. HTML中的img、input、textarea、select、object都是替换元素。这些元素往往没有实际的内容,即是一个空元素。
    非置换元素/不可替换元素

二、非置换元素/非替换元素

1.HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器),如:
span是非置换元素 因此 hello word 被展示出来 而不是被替换成其他内容
<span>hello word</span>

三、行内级置换的宽度定义

1.若宽高的计算值都为 auto且元素有固有宽度,则 width 的使用值为该固有宽度
典型的例子是:拥有默认宽高的 input 当宽度的计算值为auto时,则宽度使用值为其默认的固有宽度
2.若宽度的计算值为 auto 且元素有固有宽度,则 width 的使用值为该固有宽度
3.若宽度的计算值为 auto 且高度有 非auto 的计算值,并且元素有固有宽高比,则 width 的使用值为 高度使用值 * 固有宽高比
典型的例子:img 当只定义了其高度值时,其宽度将会根据固有宽高比进行等比设置,这也是为什么img是行内元素,但可以设置宽高的原因
4.除此之外,当 width 的计算值为 auto 时,则宽度的使用值为 300px ,比如iframe, canvas

四、行内级置换的高度定义

1.若宽高的计算值为 auto 且元素有固有高度,则 height 的使用值为该固有高度;
2.若高度的计算值为 auto 且元素有固有高度,则 height 的使用值为该固有高度;
3.若高度的计算值为 auto 且宽度有 非auto 的计算值,并且元素有固有宽高比,则 height 的使用值为:宽度使用值 / 固有宽高比;
4.若高度的计算值为 auto 且上述条件完全不符,则 height 的使用值 不能大于150px,且宽度不能大于长方形高度的2倍

5.行内级非置换元素的宽度定义

1.宽度设置是无效的,如:
设置宽度无效 ,span的宽度默认为其内容的宽度
<span>hello word</span>

6.行内级非置换元素的高度定义

1.高度设置无效,如:
设置高度无效 ,span的高度默认为其内容的高度
<span>hello word</span>

原文:https://blog.csdn.net/SakuraLLj/article/details/48277463
参考文档:https://blog.csdn.net/gr11222/article/details/52071168

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 1,004评论 0 2
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,175评论 1 92
  • 1. 什么是块级元素? 块级元素是那些视觉上会被格式化成块状的元素,通俗一点来说就是那些会换新行的元素。displ...
    a_foo阅读 352评论 0 1
  • 问题来源于在segmentfault上看到的一个问题,button改变不了高度,在还没看代码之前,我猜是因为inp...
    浴火小青春阅读 1,217评论 0 2
  • 【心安】教育之道乃安心之道,心安天下安 【语安】太好了,没问题,一切的发生都是最好的安排 【视安】我心光明,发现 ...
    昭云之印阅读 167评论 0 2

友情链接更多精彩内容