html - display-inline-block 的上边距和文本对齐工作
问题描述
我知道左右边距都适用于display: inline
and display-inline: block
。但请澄清是否适用于其中任何一个top margin
。text-align
如果是,为什么?
解决方案
当涉及到边距和填充时,浏览器会以不同的方式处理内联元素。虽然您可以添加左右边距/填充,但不能将它们添加到元素的顶部或底部。这是因为内联元素与页面上的内容一起流动,就像链接或文本一样。如果您能够在内联元素中设置顶部/底部边距/填充,则会破坏内容的流动。
至于文本对齐,这适用于inline-block
, 和inline
元素。我在下面添加了一个快速代码示例,显示text-align: center;
了display: inline;
和display: inline-block;
元素。此示例还显示了适用于 inline-block 的顶部和底部边距,而不适用于 inline。
.inline-block {
display: inline-block;
margin-top: 30px;
margin-bottom: 10px;
}
.inline {
display: inline;
margin-top: 30px;
margin-bottom: 10px;
}
/* Start demo styles (not required) */
* {
box-sizing: border-box;
}
html,body {
margin:0;
background: #95a5a6;
}
.container {
width:50%;
margin: 50px auto;
background: white;
padding: 10px 20px;
text-align: center;
font-family: arial;
font-size: 16px;
}
hr {
border: none;
height: 2px;
width: 100%;
background: black;
display: block;
}
/* End demo styles */
<div class="container">
<div class="inline-block">
Inline-Block Content
</div>
<hr>
<div class="inline">
Inline Content
</div>
</div>
推荐阅读
- javascript - 类型“只读<{}>”上不存在属性“选项”
- networking - 如何读取 tcpdump 生成的包含大型 UDP 数据包的 pcap 文件并重新组装 IP 分段数据包?
- javascript - 单击添加到购物车按钮时,如何一次将超过 1 件商品添加到购物车
- python - 如何在不出现 indexError 的情况下单击 opensecrets 页面的第一个链接?
- google-cloud-platform - 如何让 GCP 日志显示在 CloudRun 中?
- python - 没有名为“utils.cython_bbox”的模块
- android - Flutter Firebase 版本解决失败 - 专家请指定版本
- python - 在方法调用中使用变量作为参数的奇怪交互
- firebase - 如何在列表视图构建器中使用firebase集合长度flutter null安全
- linux - 生成 Poetry Shell 后运行命令