• <...">

    Using a Separator in a Column

    I want to use a separator in each column when using CSS column-column .

    HTML:

    <ul class="channel_list">
        <li><input class="channels" type="checkbox" name="7" value="y">&nbsp;Channel 1</li>
        <li><input class="channels" type="checkbox" name="8" value="y">&nbsp;Channel 2</li>
        <li><input class="channels" type="checkbox" name="9" value="y">&nbsp;Channel 3</li>
        <li><input class="channels" type="checkbox" name="6" value="y">&nbsp;Channel 4</li>
        <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;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}
    

    What I want, enter image description here

    I'm trying to:

    .channel_list li{ border-right: 5px solid red}
    

    Only the border is on the right side, but not in the last column.

    +4
    source share
    3 answers

    If my understanding of the question is correct, you can achieve this using the property column-rule. This is a shorthand property consisting of column-rule-width, column-rule-colorand column-rule-style. These three long properties work just like border-width, border-colorand border-style. column-rule-stylesupports all values ​​supported border-style.

    , (.. border-radius).

    ( - , 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">&nbsp;Channel 1</li>
      <li>
        <input class="channels" type="checkbox" name="8" value="y">&nbsp;Channel 2</li>
      <li>
        <input class="channels" type="checkbox" name="9" value="y">&nbsp;Channel 3</li>
      <li>
        <input class="channels" type="checkbox" name="6" value="y">&nbsp;Channel 4</li>
      <li>
        <input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 5</li>
    </ul>
    <hr>
    <ul class="channel_list dashed">
      <li>
        <input class="channels" type="checkbox" name="7" value="y">&nbsp;Channel 1</li>
      <li>
        <input class="channels" type="checkbox" name="8" value="y">&nbsp;Channel 2</li>
      <li>
        <input class="channels" type="checkbox" name="9" value="y">&nbsp;Channel 3</li>
      <li>
        <input class="channels" type="checkbox" name="6" value="y">&nbsp;Channel 4</li>
      <li>
        <input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 5</li>
    </ul>
    <hr>
    <ul class="channel_list dotted">
      <li>
        <input class="channels" type="checkbox" name="7" value="y">&nbsp;Channel 1</li>
      <li>
        <input class="channels" type="checkbox" name="8" value="y">&nbsp;Channel 2</li>
      <li>
        <input class="channels" type="checkbox" name="9" value="y">&nbsp;Channel 3</li>
      <li>
        <input class="channels" type="checkbox" name="6" value="y">&nbsp;Channel 4</li>
      <li>
        <input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 5</li>
    </ul>
    Hide result
    +1

         -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

    , .

    0

    Just another alternative solution.

    .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">&nbsp;Channel 1</li>
        <li><input class="channels" type="checkbox" name="8" value="y">&nbsp;Channel 2</li>
        <li><input class="channels" type="checkbox" name="9" value="y">&nbsp;Channel 3</li>
        <li><input class="channels" type="checkbox" name="6" value="y">&nbsp;Channel 4</li>
        <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 5</li>
          <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 6</li>
          <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 7</li>
          <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 8</li>
          <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 9</li>
          <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 10</li>
           <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 11</li>
           <li><input class="channels" type="checkbox" name="5" value="y">&nbsp;Channel 12</li>
    </ul>
    Run codeHide result
    0
    source

    All Articles