在列数中使用分隔符
Using separator in column count
我想在使用 CSS 的 column-count 时在每一列中使用分隔符。
HTML:
<ul class="channel_list">
<li><input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li><input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li><input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li><input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
CSS:
.channel_list{
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
}
.channel_list li{ list-style: none}
我想要什么——
我试试:
.channel_list li{ border-right: 5px solid red}
Only the border at the right side of the li's but not in the last
column.
如果我对问题的理解是正确的,你可以使用column-rule
property来实现。它是由column-rule-width
、column-rule-color
和column-rule-style
组成的shorthand属性。这三个长手属性的工作方式与 border-width
、border-color
和 border-style
完全相似。 column-rule-style
支持 border-style
.
支持的所有值
请注意,您无法生成圆角分隔符(也就是说,没有 border-radius
的等效项)。
(属性 still needs vendor prefixes in all browsers other than IE!.)
.channel_list {
padding: 0;
text-align: center; /* make the separator look like it is in middle */
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
/* just for spacing */
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}
.channel_list li {
list-style: none;
}
.channel_list.solid {
-webkit-column-rule: 5px solid red;
-moz-column-rule: 5px solid red;
column-rule: 5px solid red;
}
.channel_list.dashed {
-webkit-column-rule: thin dashed chocolate;
-moz-column-rule: thin dashed chocolate;
column-rule: thin dashed chocolate;
}
.channel_list.dotted {
-webkit-column-rule: medium dotted rebeccapurple;
-moz-column-rule: thin dotted rebeccapurple;
column-rule: thin dotted rebeccapurple;
}
<ul class="channel_list solid">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
<hr>
<ul class="channel_list dashed">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
<hr>
<ul class="channel_list dotted">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
使用列规则
-webkit-column-rule: 4px outset red; /* Chrome, Safari, Opera */
-moz-column-rule: 4px outset red; /* Firefox */
column-rule: 4px outset red;
Codepen URL - http://codepen.io/nagasai/pen/jrrGGX 供参考
希望这对你有用
只是另一个替代解决方案。
.channel_list{
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
}
.channel_list li{ list-style: none;border-right:5px solid red}
.channel_list li:nth-child(n+9){border-right:none} /* selects from the ninth onwards */
<ul class="channel_list">
<li><input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li><input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li><input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li><input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 6</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 7</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 8</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 9</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 10</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 11</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 12</li>
</ul>
我想在使用 CSS 的 column-count 时在每一列中使用分隔符。
HTML:
<ul class="channel_list">
<li><input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li><input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li><input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li><input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
CSS:
.channel_list{
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
}
.channel_list li{ list-style: none}
我想要什么——
我试试:
.channel_list li{ border-right: 5px solid red}
Only the border at the right side of the li's but not in the last column.
如果我对问题的理解是正确的,你可以使用column-rule
property来实现。它是由column-rule-width
、column-rule-color
和column-rule-style
组成的shorthand属性。这三个长手属性的工作方式与 border-width
、border-color
和 border-style
完全相似。 column-rule-style
支持 border-style
.
请注意,您无法生成圆角分隔符(也就是说,没有 border-radius
的等效项)。
(属性 still needs vendor prefixes in all browsers other than IE!.)
.channel_list {
padding: 0;
text-align: center; /* make the separator look like it is in middle */
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
/* just for spacing */
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}
.channel_list li {
list-style: none;
}
.channel_list.solid {
-webkit-column-rule: 5px solid red;
-moz-column-rule: 5px solid red;
column-rule: 5px solid red;
}
.channel_list.dashed {
-webkit-column-rule: thin dashed chocolate;
-moz-column-rule: thin dashed chocolate;
column-rule: thin dashed chocolate;
}
.channel_list.dotted {
-webkit-column-rule: medium dotted rebeccapurple;
-moz-column-rule: thin dotted rebeccapurple;
column-rule: thin dotted rebeccapurple;
}
<ul class="channel_list solid">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
<hr>
<ul class="channel_list dashed">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
<hr>
<ul class="channel_list dotted">
<li>
<input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li>
<input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li>
<input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li>
<input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li>
<input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
</ul>
使用列规则
-webkit-column-rule: 4px outset red; /* Chrome, Safari, Opera */
-moz-column-rule: 4px outset red; /* Firefox */
column-rule: 4px outset red;
Codepen URL - http://codepen.io/nagasai/pen/jrrGGX 供参考
希望这对你有用
只是另一个替代解决方案。
.channel_list{
-webkit-column-count: 3; /* Chrome, Safari, Opera */
-moz-column-count: 3; /* Firefox */
column-count: 3;
}
.channel_list li{ list-style: none;border-right:5px solid red}
.channel_list li:nth-child(n+9){border-right:none} /* selects from the ninth onwards */
<ul class="channel_list">
<li><input class="channels" type="checkbox" name="7" value="y"> Channel 1</li>
<li><input class="channels" type="checkbox" name="8" value="y"> Channel 2</li>
<li><input class="channels" type="checkbox" name="9" value="y"> Channel 3</li>
<li><input class="channels" type="checkbox" name="6" value="y"> Channel 4</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 5</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 6</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 7</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 8</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 9</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 10</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 11</li>
<li><input class="channels" type="checkbox" name="5" value="y"> Channel 12</li>
</ul>