这个div里面可以划线吗?
Is it possible to draw lines within this div?
我正在将数据渲染到 div 中,我想看看是否可以使用 CSS 在四列之间创建三行。我正在使用单个 div 以便正确显示数据。虽然如果我使用单独的列会很好(然后我会对每个列执行 border-right: 2px solid black
),但我喜欢 div 随着更多项目的添加而扩展,所以我想坚持使用一个div.
我已经包含了一个 screencap 应该更好地解释我正在努力实现的目标。
HTML 片段:
<div class="all-training">
<h2>All Training Courses</h2>
<div class="row">
<div class="col">
<ul class="all-courses-ul"></ul>
</div>
</div>
</div>
CSS 片段:
.all-courses-ul {
display: block;
}
.all-courses-ul li {
display: inline-block;
font-size: 15px;
list-style-type: none;
padding-bottom: 30px;
text-align: left;
width: 25%;
}
JS 片段:
import testjson from './test.json';
function loadAllCourses() {
let jsonRes = testjson.d.results.map(function(val) {
return {
"Title": val.Title
}
});
let allTitles = jsonRes;
for (var i = 0; i < allTitles.length; i++) {
$(".all-courses-ul").append("<li>" + allTitles[i].Title + "</li>")
};
} // ------------------ loadAllCourses
loadAllCourses();
您可以尝试以下方法:
.all-courses-ul li {
border-right: 2px solid #000;
}
.all-courses-ul:last-child li {
border-right: 0;
}
不确定你是不是这个意思。
作为一个 flexbox 狂热者,我建议将它用于您的布局:
h2 {
text-align: center;
}
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.main-content,
.new-content {
display: flex;
}
.main-content{
flex-grow: 1; /* Take the most possible vertical space */
}
.container .col {
flex-basis: 25%;
}
.main-content .col:not(:last-child) {
border-right: 2px solid black;
}
html, body {
margin: 0;
}
<div class="container">
<h2>All Training Courses</h2>
<div class="main-content">
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
</div>
<div class="new-content">
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
</div>
</div>
我正在将数据渲染到 div 中,我想看看是否可以使用 CSS 在四列之间创建三行。我正在使用单个 div 以便正确显示数据。虽然如果我使用单独的列会很好(然后我会对每个列执行 border-right: 2px solid black
),但我喜欢 div 随着更多项目的添加而扩展,所以我想坚持使用一个div.
我已经包含了一个 screencap 应该更好地解释我正在努力实现的目标。
HTML 片段:
<div class="all-training">
<h2>All Training Courses</h2>
<div class="row">
<div class="col">
<ul class="all-courses-ul"></ul>
</div>
</div>
</div>
CSS 片段:
.all-courses-ul {
display: block;
}
.all-courses-ul li {
display: inline-block;
font-size: 15px;
list-style-type: none;
padding-bottom: 30px;
text-align: left;
width: 25%;
}
JS 片段:
import testjson from './test.json';
function loadAllCourses() {
let jsonRes = testjson.d.results.map(function(val) {
return {
"Title": val.Title
}
});
let allTitles = jsonRes;
for (var i = 0; i < allTitles.length; i++) {
$(".all-courses-ul").append("<li>" + allTitles[i].Title + "</li>")
};
} // ------------------ loadAllCourses
loadAllCourses();
您可以尝试以下方法:
.all-courses-ul li {
border-right: 2px solid #000;
}
.all-courses-ul:last-child li {
border-right: 0;
}
不确定你是不是这个意思。
作为一个 flexbox 狂热者,我建议将它用于您的布局:
h2 {
text-align: center;
}
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.main-content,
.new-content {
display: flex;
}
.main-content{
flex-grow: 1; /* Take the most possible vertical space */
}
.container .col {
flex-basis: 25%;
}
.main-content .col:not(:last-child) {
border-right: 2px solid black;
}
html, body {
margin: 0;
}
<div class="container">
<h2>All Training Courses</h2>
<div class="main-content">
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
</div>
<div class="new-content">
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="col">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
</div>
</div>