【发布时间】:2018-03-21 04:21:12
【问题描述】:
根据 w3schools:
重要提示:当您使用 CSS 设置元素的宽度和高度属性时,您只需设置内容区域的宽度和高度。要计算元素的完整大小,您还必须添加内边距、边框和边距。
我在实践中使用<img...> 标记发现的是,无论我是通过CSS 指定宽度和高度,还是使用<img...> 标记的width 和height 属性,都是这不仅仅是我的内容的大小受到影响。整个图像内容、内边距和边框的大小都与我指定的宽度和高度相匹配。
在这上面加上一些具体的数字:
- 我的旗帜图标尺寸为 32 像素 * 22 像素。我想将它们缩小 50% 到 16px * 11px。
- 我想在标志图标周围放置 1 px 的内边距,然后是 1 像素的实心浅灰色边框。
- 结果的总屏幕尺寸包括内边距和边框应为 20px * 15px。
正常工作的 CSS 是这样的:
.flag-image {
width: 20px;
height: 15px;
position: relative;
top: 3px;
padding: 1px;
border: lightgray 1px solid;
}
但是,如果这是真的,我应该只指定内容大小,那么宽度和高度不应该是 16px 和 11px 吗?为什么,如果我使用 16px 和 11px,我的标志图标是否被压得太小?我拍了一张屏幕截图,放大了它,并计算了像素。 20px 和 15px 给了我正确的结果。
img 标签有什么特别之处吗?我是否遗漏或误解了 HTML 或 CSS 规范?
【问题讨论】: