如果我有:

#logo {
    width: 400px;
    height: 200px;
}

然后

<img id="logo" src="logo.jpg"/>

会伸展以填补这一空白.我希望图像保持不变的大小,但要在DOM中占用那么大的空间.我需要加一个封装式的<div>还是<span>?我讨厌为样式添加标记.

推荐答案

是的,您需要一个封装的div:

<div id="logo"><img src="logo.jpg"></div>

使用类似以下内容:

#logo { height: 100px; width: 200px; overflow: hidden; }

其他解决方案(填充、边距)更加繁琐(因为您需要根据图像的尺寸计算正确的值),但也不能有效地允许容器小于图像.

此外,上述内容可以更容易地适应不同的布局.例如,如果希望图像位于右下角:

#logo { position: relative; height: 100px; width: 200px; }
#logo img { position: absolute; right: 0; bottom: 0; }

Html相关问答推荐

如何改进这个jQuery滑动器的功能?

当ul为Flex时,使ul元素在指定高度内可垂直滚动

将容器水平偏离中心放置在桌面上;在移动设备上平稳地集中缩小规模

z—index总是 destruct 我的头,我该如何修复它?

我能阻止浏览器跨跨区边界折叠空格吗?

电话号码验证器(Angular )

如何使我的组织 struct 图的连接线响应?

首字下沉非字母字符

如何最大限度地减少Cookie同意代码对性能的影响?

在FlexBox中将div拉伸到父div的完全高度

页脚与主要内容重叠

使用Cypress循环遍历不一致的父对象

我的Django应用程序中出现模板语法错误

如何创建嵌套的动态表单元素

HTML 邮箱在 Gmail 中无法正确显示

在 flexbox 中使用 spacer 是否有效

一旦大于最大限制,JQuery 取消 Select 复选框

如何垂直平移一个元素,使其新位置位于另外两个元素之间?

在包含 html 标签的字符串的子字符串中应用不同的样式

是否有一种静态方式可以根据暗模式 Select 一张或另一张图像?