【问题标题】:Responsive portrait images, Hows & Dont's?响应式肖像图像,怎么做?
【发布时间】:2012-11-06 19:15:22
【问题描述】:

这个问题困扰了我一段时间。有大量关于响应式图像的教程和问答,但我还没有找到一个像样的,这可以解释我如何保持肖像图像的尺寸不拉伸到它们所在的硬币容器的宽度。

我有什么:

我使用 WordPress,并使用脚本删除图像的宽度和高度:

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );

function remove_thumbnail_dimensions( $html ) {
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
}

然后我添加一个脚本,将我的附件放入一个 div 中(仅用于样式设置)。

add_filter('image_send_to_editor', 'wrap_my_div', 10, 8);

function wrap_my_div($html, $id, $caption, $title, $align, $url, $size, $alt){
    return '<div class="post-attachment">'.$html.'</div>';
}

然后是 CSS:

img {
        width: 100%;
}

.post-attachment {
    width: 80%;
    margin: 0 auto;
}

这对于风景图像非常有用,并且在移动设备上看起来很棒。但是如何保持纵向尺寸的图像,而不是缩放到 100% 容器的宽度?我知道,如果我声明了 width:100% 并且我不希望某些图像是 100% 宽度,而是 100% 高度,这有点奇怪。

如果没有 CSS 方式,那么可能有人可以向我推荐任何 jquery 插件(或 WP 插件,尽管我不想使用它们)?或者一些可以深入研究的链接?

谢谢。

【问题讨论】:

    标签: jquery wordpress css


    【解决方案1】:

    用max-width代替宽度:

    img {
        max-width: 100%;
    }
    

    这样,如果它们很小,它们将是它们的原始大小,但如果它们更大,它们将保持在封闭父级的边界内。

    【讨论】:

    • 嗯……有趣的是它适用于我的情况。这似乎是其中的一个陷阱,不是吗?!
    • 为什么这被接受为答案?根据您提供的图像,您必须使用下面的解决方案来限制纵向图像的宽度扩展到 div 的两侧。我提供的 JSFiddle 使用了 max-width: 100%;在 img 元素上,但您需要限制肖像图像的大小才能实现上面图像中的内容。也许我错过了什么......?
    • 因为他需要流体图像 (alistapart.com/articles/fluid-images),它只会被调整大小以包含在它们的父级中,但当它们已经小于它们的容器时不会放大。您的回答添加了标记,并使它们成为 50%,另一个固定大小。
    • 是的,coopersita 是对的,我很抱歉没有 100% 准确地说明我的目标。正如我所说,你的解决方案没有错,太空人 817,但在这种情况下,coopersitas 的答案解决了我的问题。
    • 不用担心 - 很高兴您能够获得所需的修复。
    【解决方案2】:

    你能不能把你的肖像图像包装到另一个容器中?

    类似

    .imageBox {
        width: 50%;
        height: 100%;
        margin: 0 auto;
    }
    

    如果您的响应式 CSS 设置正确,它应该可以根据您的设计正确缩放 - 只需将宽度更改为您想要的图像宽度。

    【讨论】:

    • 这是一个关于 jsfiddle 的简单示例:jsfiddle.net/SA8Uh 我使用了来自cssgrid.net 的响应式代码。
    • 是的,这是一个正确的答案,它可以工作,但这需要为每个肖像图像添加特殊类,因此有时会很不方便。谢谢!
    • 您不需要额外的标记。将图像设置为最大宽度,而不是 with 将确保图像不会被人为放大。
    猜你喜欢
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2016-03-18
    • 1970-01-01
    • 2017-12-23
    • 2021-02-15
    相关资源
    最近更新 更多