html - 所有列表项(连接)的边框底部,它将如何工作?
问题描述
我用列表项创建了一个未排序的列表。它看起来像这样:
<ul id="mylist">
<li>
<input type="checkbox" id="[[Array]]" />
<label for="[[Array]]"><img src="images/[[ArrayImage]]"/></label>
<div class="subtitle">[[Name]]</div>
</li>
</ul>
所以它看起来像我添加的一张图片。图片名称在图片的底部,但如果我在 CSS 中输入“border-bottom”,它只会在图片上显示一个边框。有没有办法显示连接在一起的边框(如图所示)?我希望任何人都可以帮助我。谢谢
解决方案
默认情况下,DIV 的显示设置为阻塞,这意味着您占用了父元素的宽度。因为 li 没有固定宽度,所以 div 占据了它可用的全部宽度。如果您将其样式设置为边框底部,它会将其应用于相同的全宽,这意味着您将获得一条完整的线。
对此有两种可能的解决方案,我提供了一个工作示例(您可以单击下面的运行代码片段以查看运行中的代码)。
<ul id="mylist">
<li>
<input type="checkbox" id="[[Array]]" />
<label for="[[Array]]"><img src="images/[[ArrayImage]]"/></label><br>
<span style="border-bottom: 2px solid grey;" class="subtitle">[[Name]]</span>
</li>
</ul>
<ul id="mylist2">
<li>
<div>
<input type="checkbox" id="[[Array]]" />
<label for="[[Array]]"><img src="images/[[ArrayImage]]"/></label>
</div>
<span style="border-bottom: 2px solid grey;" class="subtitle">[[Name]]</span>
</li>
</ul>
一方面,我们只是将字幕 div 更改为一个 span,默认情况下具有 inline-block 显示,然后我们添加一个额外的 <br> 标签来拆分它。
在第二个中,我们只是将除了字幕之外的所有内容都包含在一个额外的 div 中。这将达到相同的效果。
推荐阅读
- javascript - 仅在 iPhone 上返回结果中的croppie.js 空白图像
- python - 水平连接两个图像 - 结果为一个黑色图像
- excel - 在 Excel 表中计算现金余额的宏
- reactjs - 由 useMediaQuery 引起的延迟文本字段?
- web-scraping - 如何关闭scrapy中的pypeeter登录?
- python - 如何使用 FFmpeg 从视频中剪切/删除特定的未解码 h.264(关键)帧?
- c# - 使用 LINQ 在包含负数和正数的列中查找负数的平均值
- javascript - 多维数组替换为近距离 Javascript
- c# - EF Core 多线程问题
- ios - 如何设置背景显示全屏?