checkbox的文字不一样长,怎么设置能保证整齐还能显示所有文字?

发布于 2022-09-03 12:21:01 字数 1069 浏览 62 评论 0

在一个div里,有n个checkbox,后面的文字有长有短,很多差距都很大而且是动态添加,不知道长得有多长,如果把每个checkbox放在一个div里设定宽度,又不能隐藏剩下的信息,也不能设置滚动条,有没有什么方法能设置它又整齐又能显示所有文字。

类似这种情况:

<div style="width: 300px; margin: 0 auto; margin-top: 300px;">
        <input type="checkbox" name="chk">xxxx
        <input type="checkbox" name="chk">xxxxxxxxxx
        <input type="checkbox" name="chk">x
        <input type="checkbox" name="chk">xxxxdcgfd
        <input type="checkbox" name="chk">xx
        <input type="checkbox" name="chk">xxxxdg
        <input type="checkbox" name="chk">xxxxdfgfghhn
        <input type="checkbox" name="chk">xxxxvcb
        <input type="checkbox" name="chk">xxxxdfgsfg
        <input type="checkbox" name="chk">xxxxfgbvf
    </div>

样式类似下图

我想要这种效果

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

他不在意 2022-09-10 12:21:02

checkbox后面的文字可以用span标签包裹,然后获取span标签的offsetwidth

只有影子陪我不离不弃 2022-09-10 12:21:02
 <div>
 <span><input type="checkbox" name="chk">xxxx</span>
 ...
</div>
div > span {
 white-space: nowrap;
}

div {
  text-align: justify;
}
俏︾媚 2022-09-10 12:21:02

这个没有办法吧,要整齐就要设置宽度。

旧人九事 2022-09-10 12:21:02

设置好行高line-height
再去百度看看这个属性吧vertical-align,可以用来实现这个整齐

心清如水 2022-09-10 12:21:02

只能保证input和文字始终在一起。

方案:input+文字外加label标签,并且设置样式inline-block

辞别 2022-09-10 12:21:02

可以选择用li标签包裹

℡Ms空城旧梦 2022-09-10 12:21:02

加一个样式 vertical-align:middle

二手情话 2022-09-10 12:21:02

这个问题是我没有说清楚,因为数据是动态的,所以我只能根据传过来数据字符串最长的来计算设置的宽度,然而js计算字符串长度用str.length的时候,不管中文字符还是英文字符都计算为1,所以只能让后台传过来最长字符串的长度了。这是我目前的解决办法,不知道有没有更好的。求指教!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文