gpt4 book ai didi

html - 在其他可变宽度元素旁边设置 HTML 元素的可变百分比宽度

转载 作者:行者123 更新时间:2023-11-28 17:31:59 25 4
gpt4 key购买 nike

我有一个带有给定 CSS 的 HTML 结构。
captionprogress 元素应该在同一行中呈现。 caption 元素不应具有固定宽度,progress 元素应根据其内联设置宽度填充 caption 旁边的剩余空间,这意味着每个 progress 元素将具有不同的总像素宽度,但应仅填充给定百分比的可用空间。
可以以任何方式更改 HTML 结构和 CSS 规则。

是否可以只用 CSS 来解决这个问题?

.table {
padding: 15px;
width: 280px;
border: 1px solid black;
font-family: sans-serif;
font-size: 12px;
}

.caption {
float: left;
}

.progress {
height: 14px;
border: 1px solid white;
border-radius: 4px;
background-color: green;
overflow: hidden;
}

.value {
margin-left: 5px;
}
<div class="table">
<div class="row">
<div class="caption">Short text: </div>
<div class="progress" style="width:11.65%">
<span class="value">11.65</span>
</div>
</div>

<div class="row">
<div class="caption">A bit longer text: </div>
<div class="progress" style="width:100%">
<span class="value">100.00</span>
</div>
</div>

<div class="row">
<div class="caption">X: </div>
<div class="progress" style="width:45.50%">
<span class="value">45.50</span>
</div>
</div>
</div>

最佳答案

您是否考虑过使用 Flexbox

只需添加这条规则:

.row {
display: flex;
}

如果您担心浏览器支持,另一种方法是使用 display:table。您应该更改标记和 CSS,如下所示:

.table {
border: 1px solid black;
font-family: sans-serif;
font-size: 12px;
padding: 15px;
width: 280px;
}
.inner-table {
display: table;
}
.row {
display: table-row;
}
.caption {
display: table-cell;
white-space: nowrap;
width: 1%;
}
.progress {
background-color: green;
border: 1px solid white;
border-radius: 4px;
display: table-cell;
height: 14px;
}
.value {
margin-left: 5px;
display:block;
width:0;
overflow: visible;
}
<div class="table">
<div class="inner-table">
<div class="row">
<div class="caption">Short text: </div>
<div style="width:1.65%" class="progress">
<span class="value">1.65</span>
</div>
<div class="remainder"></div>
</div>
</div>

<div class="inner-table">
<div class="row">
<div class="caption">A bit longer text: </div>
<div style="width:100%" class="progress">
<span class="value">100.00</span>
</div>
<div class="remainder"></div>
</div>
</div>

<div class="inner-table">
<div class="row">
<div class="caption">X: </div>
<div class="progress" style="width:45.50%">
<span class="value">45.50</span>
</div>
<div class="remainder"></div>
</div>
</div>
</div>

关于html - 在其他可变宽度元素旁边设置 HTML 元素的可变百分比宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com