html - 为什么我的列的内容从不同的高度开始?
问题描述
我读到不应该使用表格作为布局手段,而是使用 CSS 进行所有样式设置,所以我尝试了我能想到的最基本的东西来模仿表格,即使用 CSS 多列布局。
我创建了一个CodePen来说明这个问题。如您所见,两列的内容从不同的高度开始,我不明白为什么。
.skill-explanation {
-webkit-column-count: 2;
-moz-column-count: 2;
-ms-column-count: 2;
column-count: 2;
}
.align-left {
text-align: left;
}
.align-right {
text-align: right;
}
<div class="skill-explanation">
<div class="align-right">
<p>★☆☆☆ ‒ <br>
★★☆☆ ‒ <br>
★★★☆ ‒ <br>
★★★★ ‒
</p>
</div>
<div class="align-left">
<p>I can put it into context and am able to use it's basics <br>
intermediate knowledge, used several times <br>
good undestanding, used frequently <br>
deep understanding, used on a daily basis
</p>
</div>
</div>
我想对这篇文章进行更新,以防有人偶然发现它。1)标记的答案是对我的改进,但我仍然觉得它不直观,因为它使用默认的 flex 流,它将主轴置于水平位置。
从逻辑的角度来看,这应该是列。
因此,这是一个更新的解决方案,它是最简单和直观的(至少在我看来):
.center-wrapper {
margin: 0 auto;
display:table;
}
.skill-explanation {
list-style: none;
}
.rating {
}
.skill {
}
.skill-item {
list-style: none;
}
<div class="center-wrapper" <ul class="skill-explanation">
<li class="skill-item">
<span class="rating">★☆☆☆ ‒</span>
<span class="skill">I can put it into context and am able to use it's basics</span>
</li>
<li class="skill-item">
<span class="rating">★★☆☆ ‒</span>
<span class="skill"></span>
intermediate knowledge, used several times
</li>
<li class="skill-item">
<span class="rating"> ★★★☆ ‒</span>
<span class="skill"></span>
good undestanding, used frequently
</li>
<li class="skill-item">
<span class="rating">★★★★ ‒</span>
<span class="skill"></span>
deep understanding, used on a daily basis
</li>
</ul>
</div>
解决方案
您可以添加padding: 1px 0
到两个容器.align-left
和.align-right
. 这样,p
标签的默认顶部和底部边距将保留在其容器内,不会由于像您的 codepen 中那样折叠边距而导致任何垂直偏移。
推荐阅读
- search - 传教士和食人者的最佳搜索算法是什么?
- python - 如何在 Python 中为 Excel 创建新行?
- sql - TINYMCE 长度:asp.net mvc
- reporting-services - 如何在SSRS中计算组中的百分比
- javascript - 如何使用反应导航更新 stacknavigator 上的自定义标题?
- php - 添加模糊性时,Elasticsearch 返回一个奇怪的结果
- linux - shell if 语句执行,即使它不是真的
- node.js - 在柏树中找到或未找到 P 元素
- haskell - 类型的约束多态性
- python - Tkinter colorchooser 甚至无需导入即可运行