css 将窗体输入宽度设置为祖父级的百分比

envsm3lx  于 2024-01-09  发布在  其他
关注(0)|答案(1)|浏览(120)

下面是HTML结构:

<div id="container" style="width: 1000px;">
    <input type="text" name="x" style="width: 80%;">
</div>

字符串
#container是一个定义了宽度的块级元素,所以我可以很容易地将input的宽度设置为#container宽度的百分比。到目前为止一切顺利。接下来,我需要一个围绕input元素的 Package 器,以便能够绝对地将一些东西放置在input上。我希望 Package 器围绕input Package ,而不需要任何间距。所以我试着这样做:

<div id="container" style="width: 1000px;">
    <div id="wrapper" style="display: inline-block; position: relative;">
        <input type="text" name="x" style="width: 80%;">
    </div>
</div>


这很好地包裹了input,但是#wrapper没有定义的宽度,所以input的宽度不再像预期的那样工作。
如何修改此结构,以便将input的宽度设置为#container宽度的百分比,而无需显式设置#wrapper维度?

8aqjt8rx

8aqjt8rx1#

您可以将祖父级设置为大小容器,然后对孙子级使用cq* 单位

<div id="container" style="width: 1000px; container-type: inline-size;">
    <div id="wrapper" style="display: inline-block; position: relative;">
        <input type="text" name="x" style="width: 80cqw">
    </div>
</div>

字符串
2023浏览器的支持非常好。根据caniuse:https://caniuse.com/?search=container-type,Chromium,Webkit和Gecko都支持这一点

相关问题