css - 使用流体布局使两个 div 在绝对定位的 div 下流动

标签 css html css-position

我正在使用一个相对定位的 div 来包含一个幻灯片,其中的 img 被设置为绝对定位。我有两个 div,我需要在图像之后流动。我不想在 CSS 中使用“top”,因为它会在调整浏览器窗口大小时创建一个巨大的空间。目标是一种流畅的布局,其中图像的大小会根据浏览器宽度调整。

我已经竭尽全力地寻找答案,但我还是空手而归。

我现在的情况可以看这里:http://kschassen.com/huberd-design/如果您使浏览器窗口变窄,您将看到在保存文本的 div 和上面的幻灯片之间创建的大空间。 (在 CSS 中使用 top 和一个值的结果)

这是我想要的布局,当然只有旋转图像:http://kschassen.com/static-image-website/index-for-testing.html

我希望有一个不需要大量脚本的简单解决方案,但是,我知道绝对定位是造成这种情况的罪魁祸首。任何建议将不胜感激。

最佳答案

jQuery 解决方案

您需要将 .header-container div 移动到 .fade-in div 上方(对于非 js 解决方案,您也需要这样做)

<script>
    $(document).ready(function(){
        var fadein = $('.fadein'),
            images = $('.fadein').find('img');

        fadein.css('height', images.height()); // set initial height

        $(window).resize(function(){ //on window resize, set height to height of image
            fadein.css('height', images.height());
        });
    });
</script>

原创非js方案

如果您不想使用脚本,我想出的使带有绝对图像的 div 响应的唯一方法是在其中添加另一个具有 position: relative; 的元素; visibility: hidden; 以及所有相同大小的属性。如果您所有的图片大小都相同,只需复制其中一张即可。

你有四张像这样的图片:

<img src="images-large/pollack-north.jpg" alt="English country style home built by Huberd Design" style="display: block;">

在它们下方添加一个 div,并将内部相同的图像设置为 position: relative;可见性:隐藏;

<div class="create-height">
    <img src="images-large/pollack-north.jpg" style="visibility: hidden; position: relative;">
</div>

这是一个 codepen 我在哪里使用这个功能。它添加了一个额外的元素(或 2 个),但您可以放弃 javascript。

关于css - 使用流体布局使两个 div 在绝对定位的 div 下流动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254812/

相关文章:

html - 输入类型范围样式

javascript - 通过 Onclick 使用 appendChild/replaceChild 函数切换图像堆栈

html - 验证失败,但是我找不到错误原因

javascript - “关闭”按钮一分钟都不会关闭弹出窗口

jquery - 将 "of:"属性设置为 jQuery ui 位置插件中的前一个元素

CSS 网格,绝对定位 css 网格元素中的元素 : IMPOSSIBLE

html - 按钮组在较小的屏幕上停止工作

类似 HTML5/CSS3 的软件 UI 设计?

php - 使用 div 表的静态 PHP 日历

html - 如何使用图像 :fixed, z-index 和滚动效果