img标签设置display:block,宽度无法100%

一些个人总结,第一次发文章,有什么不足的地方,还请各位多提意见


现象


如下代码,img标签设置了display:block,尺寸宽度无法设定为100%

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>img标签设置display:block,宽度无法100%</title>
</head>
<body><div><img src="https://www.baidu.com/img/bd_logo1.png?where=super" style="display: block;"></div>
</body>
</html>

原因


替换元素和非替换元素

元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也翻译为“盒子”)。但是不同的元素显示的方式会有所不同,例如div和span不同,而strong和p也不一样。在文档类型定义(DTD)中对不同的元素规定了不同的类型,这也是DTD对文档之所以重要的原因之一。而根据元素本身的特点可以分为替换元素(replaced element)和非替换元素,非替换元素,在W3C中没有给出明确的定义,但我们可以由替换元素对应着非替换元素,所以可以理解为除了替换元素,其它的就是非替换元素。


替换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。替换元素是其内容不受CSS视觉格式化模型控制的元素,例如img标签,嵌入的文档(iframe之类)或者applet,这些叫做替换元素。比如img元素通过src属性的值来读取图片信息并显示出来,而如果查看(x)html代码,却看不到图片的实际内容,而且img元素的内容通常会被src属性指定的图像替换掉;例如input元素的type属性决定是显示输入框,还是单选按钮等。(x)html中的img , input , textarea , select , object都是替换元素。这些元素没有实际的内容,即是个空元素


非替换元素:(X)HTML 的大多数元素是非替换元素,他们将内容直接告诉浏览器,将其显示出来


img标签为替换元素,替换元素的特性之一就是尺寸由内部元素决定,且无论其 display 属性值是 inline 还是 block。这个特性很有意思,对于非替换元素,如果其 display 属性值为 block,则会具有流动性,宽度由外部尺寸决定,但是替换元素的宽度却不受 display 水平影响,因此,display 水平是无法让尺寸 100%自适应父容器的


解决

解决办法就是,通过设定<img>的width尺寸 100%

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>img标签设置display:block,宽度无法100%</title>
</head>
<body><div><img src="https://www.baidu.com/img/bd_logo1.png?where=super" style="display: block;width: 100%;"></div>
</body>
</html>

小结

刚开始的博客之旅,记录一些自己学习点滴和经验,接下来会不断努力的探索和记录,希望文章能有助于各位,有什么不足之处,还望大家多多指出

img标签设置display:block,宽度无法100%相关推荐

  1. bootstrap table中的行tr标签设置display:block后行样式错乱问题

    在table中,如果在tr加上display样式时,会发生错乱如下: <tr style="display: block;" statusCode="2" ...

  2. html超级链接大小修改,html代码如何为超链接标签设置高度和宽度呢?

    摘要: 下文讲述html中设置超链接标签的高度和宽度的方法分享,如下所示: 有时候我们需要为"超链接"标签设置相应的高度和宽度,但是设置后,我们发现超链接标签没有发生任何变化,具体 ...

  3. html5中video标签设置视频的宽度和高度

    转自:https://blog.csdn.net/hahhahahaa/article/details/94547802

  4. html之CSS设计(文本、边框、列表标签、display设置、内外边距)

    文章目录 一.文本属性 二.边框属性 三.列表标签 四.display设置 五.内外边距 本篇文章主要介绍CSS设计中的文本属性.边框边距.列表标签.display的几种用法,还有一个最容易被忽视的点 ...

  5. DIV CSS display (block none inline)属性的用法教程

    在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例.图演示 ...

  6. html block属性,css display block属性的意思、作用和效果

    css中display的block属性是什么意思呢?他是指拥有该属性的html元素以块的方式显示,同时,该元素的前面和后面都会换行,也就是说,如果给一个元素B设置的display:block,那么该元 ...

  7. CSS块级、行级、行级块标签、display、div、span

    文章目录 块级标签 行级标签 行级块标签 display div 和span 块级标签 无论内容有多少,都会占据一行; 默认宽:与父级标签一致; 默认高:0 :或者与内容高度一致. 但是可以通过 wi ...

  8. html a标签怎样设置宽高,a标签如何设置高度和宽度

    我们直接设置html代码中的a标签高度和宽度是不会起作用的,这是因为a标签属于内联元素标签,而内联元素不支持设置宽度(width)和高度(height),那么, a 标签如何设置宽度和高度. 为什么设 ...

  9. html设置背景图片高度自适应屏幕,CSS设置背景图宽度100%,高度自适应

    div的高度随背景图片的高度变化: 原理是通过padding-top或者padding-bottom实现,值是背景图片的宽高比.高度设置为0..newcenter{        width: 100 ...

最新文章

  1. 「系统架构」什么是堡垒机?为什么需要堡垒机?
  2. (iOS)从0到Double系列 如何刻出一个可拖动的导航浮動按钮
  3. php设计模式之单例模式
  4. [转+总结]Linux虚拟系统安装VMware Tools总结
  5. Python学习总结5:数据类型及转换
  6. 《利用python进行数据分析》读书笔记--第十章 时间序列(二)
  7. html判断变量,javascript如何判断变量是否为对象?
  8. 【哈希和哈希表】Beads
  9. python哲学翻译_Python
  10. orm对象关系映射演练 一行就是一个对象
  11. java for while do-while 循环的经典题
  12. 图像语义分割(5)-DeepLabV2: 使用深度卷积网络、空洞卷积和全连接条件随机场进行图像语义分割
  13. idea添加maven启动
  14. 大学生如何自学PR剪辑以及PS教程?
  15. 京瓷打印机p5026cdn_京瓷p5026cdn打印机驱动
  16. python金融衍生品大数据分析豆瓣_Python金融衍生品大数据分析
  17. 摄像头设计工程师面试技巧_系统设计面试准备的5个技巧
  18. 洛谷P3356 火星探险问题(费用流)
  19. 电子元器件符号+实物图+命名规则(太全了,绝对收藏)
  20. CSDN周赛第32期:赢图书《金融级IT架构:数字银行的云原生架构解密》 和定制周边

热门文章

  1. 公众号向特定用户主动推送消息_SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据...
  2. 某系统有6台输出设备 有多个进程均需要使用2台_双11的秒杀系统,是如何设计的?...
  3. QAdmin轻量级后台HTML模板 1.5
  4. 小程序版本独立微信社群人脉系统社群空间站源码全开源
  5. QQ红包源码 大转盘抽奖源码下载 微信红包源码
  6. typecho插件库 TeStore 方便监控插件版本
  7. Window Services的调试和非托管dll的引用及其他一些注意问题
  8. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①
  9. magento 1.9 用户无法登录 magento 1.9 customer can not login
  10. Magento教程 4:主机环境准备