css - 除一个元素外的所有元素的动态宽度

标签 css

在阅读了 Ethan Marcote 的 A Book Apart 之后,我正在尝试编写更“响应式”的代码

我想出了一个我不确定如何解决的案例。在 li元素,我有四个不同的 div秒。第一个不能改变宽度或高度(我知道这不是响应式的,但图像大小必须在其中保持不变)。其他三个div s 可以拉伸(stretch),因为它们只是文本。

现在,我知道我可以设置 div s 具有其父级宽度的不同百分比,这很好,除了 div1 必须是定义的像素宽度这一事实。这抛出了其他百分比的计算(浏览器宽度 - 77px 将是不同浏览器大小的不同数字),那么我该怎么办?

我想出了这个来帮助说明我的问题。

enter image description here

正如我提到的,我意识到我可以使用 JS 在文档加载和调整大小时使用 JS 来设置容器 div 的宽度,但这似乎不太好。

感谢您的帮助:)

最佳答案

也许 table 上的东西能帮上忙

<!DOCTYPE html>
<html>
    <head>
        <style>
            li { display: table; clear: both; width: 100% }
            li div { display: table-cell; border: 1px solid blue; height: 1em }
            .div1 { min-width: 65px; max-width: 65px }
            .div2 { width: 60% }
            .div3 { width: 10% }
            .div4 { width: 30% }
        </style>
    </head>
    <body>
        <ul>
            <li>
                <div class="div1"></div>
                <div class="div2"></div>
                <div class="div3"></div>
                <div class="div4"></div>
            </li>
            <li>
                <div class="div1"></div>
                <div class="div2"></div>
                <div class="div3"></div>
                <div class="div4"></div>
            </li>
        </ul>
    </body>
</html>

关于css - 除一个元素外的所有元素的动态宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303631/

相关文章:

php - 使用 Laravel Elixir 将 Sass 和纯 CSS 合并到一个文件中

javascript - 将鼠标悬停在图像和链接上时颜色发生变化

javascript - 在 AJAX 请求后获取 div 的计数

css - 使元素半透明但悬停的元素

jquery - 不同宽度的 bxslider 图像

html - Bootstrap - 行中最后一列末尾的小间距

jquery - 获取/迭代不在对象中的属性

asp.net - 图像大小不适用于 mozilla 和 IE

html - Laravel + Ajax,将数据呈现给 html 的正确方法

asp.net - 菜单控件在环境之间构建和呈现不同