css - WordPress 和 Twitter Bootstrap 图像拉伸(stretch)或最大宽度问题 : 100% not working

标签 css wordpress image twitter-bootstrap wordpress-theming

我使用 Twitter Bootstrap v3.1.1 为客户创建了一个自定义 WordPress 主题。一切都很顺利,直到我意识到在 IE 和 Firefox 中图像显示完整大小并且超出了它们父元素的边界,即使我设置了 max-width: 100%

自然地,我在互联网上搜索了一些选项,有人提到将 height:auto; 放在 img 标签上。这几乎奏效了,但图像开始在某些地方被拉伸(stretch),而在其他地方仍然不遵守最大宽度。

这是侧边栏小部件中的图像不遵守 max-width: 100%

的示例

sidebar images not obeying max-width: 100%

我四处搜寻,发现了更多针对 Firefox 和 IE 的黑客攻击。然后 Chrome 也开始出现问题。现在我有一个包含大量 CSS hack 的凌乱样式表,并且图像被拉伸(stretch)或显示完整尺寸仍然存在问题。其中一个建议是搞乱 box-sizing 并将 img 的宽度设置为 100%,这会导致下面的图像小于父容器的宽度被拉伸(stretch)。

stretched images

我要回到我只使用 max-width: 100% 并重新开始的绘图板。

我的问题是:如何让 WordPress 上使用的所有图像都正确运行并遵循 max-width: 100% CSS 规则?这是一个响应式网站,我需要所有图像都保留在它们的容器内,不被拉伸(stretch)或倾斜,并且在随着浏览器大小的变化限制比例的同时扩大/缩小。

最佳答案

这不是因为 Bootstrap 和 WordPress 在一起 - 我们一直在使用它。你可以使用

img {height: auto; max-width: 100%;}

这将使您的所有图像都具有响应性,这还将填充它们的容器高达原始图像宽度的 100%,并调整高度以保持纵横比。

但是,如果您的图像容器是 1000 像素,而您的图像最初是 500x250,则图像只会填满容器的一半,因为 max-width: 100% 将使图像的最大宽度为 500 像素。

你可以使用

img {height: auto; width: 100%;}

这将确保您的图像填满整个容器。但请注意 - 在上述 1000 像素容器/500 像素图像场景中,您的图像会放大并可能开始看起来像素化。

另一件需要注意的事情 - 您的图像可能会在小部件中被覆盖。例如,一个流行的侧边栏图像小部件将宽度和高度硬编码为内联样式(一种可怕的做法,我希望他们停止这种做法)。您可以覆盖它并使其适用于:

img[style] {height: auto !important; width: 100% !important;} //or
.widget[style] img {height: auto !important; width: 100% !important;}

我敢打赌,您的侧边栏图像问题是某些样式(通过插件 css 或内联)覆盖了您的原始图像设置。

关于css - WordPress 和 Twitter Bootstrap 图像拉伸(stretch)或最大宽度问题 : 100% not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22646878/

相关文章:

html - 谷歌浏览器 40 版 srcset 属性问题

css - 如何摆脱 WordPress 中容器之间的白线?

php - wp_insert_post 带有表单

php - Twig+ Wordpress - 如何将数组参数传递给函数?

linux - 将 swf 渲染为 png 或其他图像格式

image - 使用html5中的knockout javascript文件离线上传图像

css - D3js Y 轴显示不正确

html - 覆盖内联样式高度自动

css - 隐藏的 div 在 IE 中的位置有大的空白

javascript - Canvas Sin曲线绘制