具有相似css的多个元素

joh*_*han 7 css

我有多个html元素.他们使用非常相似的CSS样式.唯一的区别是边框样式(一个元素除了左边框之外,另一个元素除了右边等).

到目前为止,我曾经创建了几种不同的样式,只有一行代码不同.这严重臃肿我的CSS文件.我的问题有更好的解决方案吗?我可以使用任何类型的继承吗?

Cro*_*zin 5

有很多方法可以实现这一目标.

  1. 使用多个选择器:

    selector #1, selector #2, selector #3 {
        /* common styles */
    }
    selector #1 { border-left: none; }
    selector #2 { border-right: none; }
    selector #3 { border-top: none; }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 根据文档结构,您可以尝试这样的事情:

    <ul>
       <li>Element #1</li>
       <li>Element #2</li>
       <li>Element #3</li>
    </ul>
    
    
    ul li {
        /* common styles */
    }
    ul li:first-child { border-left: none; }
    ul li:last-child { border-right: none; }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用多个类:

    <ul>
       <li class="border no-left">Element #1</li>
       <li class="border">Element #2</li>
       <li class="border no-right">Element #3</li>
    </ul>
    
    
    .border {
        /* common styles */
    }
    .border.no-left { border-left: none; }
    .border.no-right { border-right: none; }
    
    Run Code Online (Sandbox Code Playgroud)