css - 如何使用 CSS 创建全高度响应式水平滚动图像列表

标签 css wordpress

我正在使用 WordPress 和 ACF 在我的页面上显示来自自定义帖子类型的一些照片。

我希望图像都是容器的全高,但它们可能有不同的宽度(上下文摄影库),我希望它们水平滚动

图像当前作为列表项包含在无序列表中。

我不确定如何使用 CSS 完成此操作。到目前为止,我让它们滚动,但它们的高度都不同。

我可以确保所有图片都以固定高度上传,但这并不能解决它们无法通过浏览器调整大小的问题。

JS fiddle : https://jsfiddle.net/svone2zq/9/

直播网址:http://www.mattwilkinson.co.uk/beta/

HTML代码

        if( $posts ): ?>
        <ul class="photolistul">
            <?php foreach( $posts as $post): // variable must be called         $post (IMPORTANT) ?>
                <?php setup_postdata($post); ?>

                <li class="photolistli">
                    <!-- need the right info here -->
                    <div class="photocontainer1">

                    <span><?php the_field('single_image_title'); ?></span>
                    <img class="img-responsive photo" src="<?php the_field('single_add_image') ?>" alt="<?php echo $image['alt']; ?>" />
                    </div>

                </li>
            <?php endforeach; ?>
        </ul>
        <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
    <?php endif; ?>
</div>

CSS

.home-image-container ul.photolistul {
display: inline-block;
list-style-type: none;
overflow: scroll;
overflow-x: show;
overflow-y: hidden;
white-space: nowrap;
}
.home-image-container ul.photolistul li.photolistli {
display: inline-block;
height: 80vh;
}
.home-image-container ul.photolistul li.photolistli .photocontainer1 {
position: inherit;
max-height: 100%;
max-width: 100%;
}
 .home-image-container ul.photolistul li.photolistli .photocontainer1 img          {
position: relative;
float: left;
max-height: 100% !important;
max-width: auto;
}

最佳答案

看起来你想创建一个轮播,如果是的话,我认为最好的解决方案是 Owl Carousel 2。

我也有一个解决方案给你

http://codepen.io/Nikolaus91/pen/EKwJXw

除了使用 jQuery 之外,我没有更好的办法来设置 .stage 宽度。当您看到我的内容时,也许您会想出更好的解决方案。

var sumwidth=0;
$(".stage").children('.carousel-image-container').each(function() {
    var child = $(this);

    sumwidth+=child.outerWidth();

});
$(".stage").css({
  'min-width' : sumwidth + 25 + 'px'
});

附言25 值是随机的,不知道为什么在汇总 outerWidth 值时缺少这个 25px。也许是因为codepen...

附言-2 如果您基于图像(大部分内容)制作网站,请记住使用例如(我最喜欢的)kraken.io 压缩图像。如果您使用 wordpress 中的媒体库上传图片,请安装 wpmu dev 的 WP Smush,它会在上传时压缩图片 - 无需记住压缩图片。

最后一件重要的事情(在我看来)是使用某种延迟加载解决方案,当只有少数图像可见时一次下载多个图像是不好的方法,试试 BjLazy for wordpress。可能适合您的需求。

关于css - 如何使用 CSS 创建全高度响应式水平滚动图像列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36389031/

相关文章:

jquery - 在浏览器大小上缩放许多图像(CSS/jQuery?)

html - 在移动浏览器上将 div 高度设置为 100% 时浏览器滚动跳转

php - WooCommerce 产品页面分页显示所有页面中的重复项

javascript - Wordpress 网站滚动仅在特定浏览器大小的一页上不起作用

wordpress - 将 WordPress REST API 用于 Gutenberg block 时,不会对 HTML 实体进行解码

wordpress - 禁用自定义标题图像上的纵横比裁剪

php - WooCommerce 订阅 - 获取特定订阅的产品

html - 页面左侧的导航栏,如何让内容调整大小以匹配屏幕大小?

css - 多重过渡 css

asp.net - 如何从另一个类设置一个类的CSS属性