html - CSS 中其他元素宽度的相关宽度

标签 html css

HTML:

<div>
 <ul>
  <li>ITEM</li>
  <li>CONTACT</li>
  <li><input type="text" placeholder="Zoeken..."></li>
  <li><img alt="shopCart" id="shopCart" href="image.jpg"></img></li>
 </ul>
</div>

CSS:

ul{
    height: 125px;
    width: 60%;
    margin: 0 auto;
}

li{
    list-style-type: none;
    float: left;
    padding: 20px 20px;
    margin: 31px 0;
    -webkit-box-sizing: border-box; /* Android ≤ 2.3, iOS ≤ 4 */
    -moz-box-sizing: border-box; /* Firefox ≤ 28 */
        box-sizing: border-box; /* Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 */
}

现在我希望 li:nth-last-child(2) 的宽度取决于其他元素的宽度。例如,ul 的宽度为 1000px,第一个、第二个和最后一个 li 的宽度合计为 300px,然后我希望我的 nth-last-child(2) 宽度为 700px。

所以基本上我希望我的 li:nth-last-child(2) 为 60%-(其他 li 的宽度)

编辑:
width: calc(60% - 700px); 是一种可能性,但我如何找出所有其他 li 的宽度?

JS也可以

最佳答案

这可以在 CSS 中完成:

ul{
    height: 125px;
    width: 60%;
    margin: 0 auto;
    display:table;

}

li{
    display:table-cell;
    list-style-type: none;
    padding: 20px 20px;
    margin: 31px 0;
    -webkit-box-sizing: border-box; /* Android ≤ 2.3, iOS ≤ 4 */
    -moz-box-sizing: border-box; /* Firefox ≤ 28 */
        box-sizing: border-box; /* Chrome, Firefox 29+, IE 8+, Opera, Safari 5.1 */
}

li:nth-last-child(2){
   width:100%;
}

最后一点是重要的部分。它告诉第三个元素占用尽可能多的空间。

关于html - CSS 中其他元素宽度的相关宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096991/

相关文章:

jquery - 无法将图像放在文本旁边

html - CSS3 过渡不起作用

html - 右边距宽度 100%

html - 与其将 Lightbox 置于一切之上,不如将其置于相对位置并将一切向下推

javascript - 如何使 HTML div 中的图像列表适合形成二维网格?

html - 插入背景横幅

javascript - 一旦两个输入字段都有 jQuery 值就运行函数

html - css关键帧变换不旋转超过180度

javascript - 我如何使用 JavaScript 从本地文件读取 CSS 规则

javascript - 如何使用 jQuery 获取没有边框的元素对象?