2014-10-12 53 views
2

问题NAV元素:两个在CSS

为了编写通用CSS代码要被施加两个NAV元件。我已经遍寻谷歌和Stackoverflow没有任何成功。在W3C允许的情况下使用两个导航元素似乎并不常见。

HTML代码:

<!-- Global navigation --> 
<nav role="main"> 
    <ul> 
     <li><a href="index.html" class="active">Startpage</a></li> 
     <li><a href="cars.html">Cars</a></li> 
     <li><a href="about.html">About us</a></li> 
    </ul> 
</nav> 

<!-- Local navigation --> 
<nav role="sub"> 
    <ul> 
     <li><a href="ferrari.html" class="pressed">Ferrari</a></li> 
     <li><a href="bmw.html">BMW</a></li> 
     <li><a href="volo.html">Volvo</a></li> 
    </ul> 
</nav> 

CSS代码:

我怎么会写CSS代码,以便这两个导航元素具有相同的布局,但不同的样式(颜色,字体大小等)?

+0

你没有提供的CSS代码。 – 2014-10-12 07:05:02

+0

您可以为每个导航创建两个单独的css类,并可以根据需要分配属性。 – Sachin 2014-10-12 07:05:25

+0

@kexxcream因此,最终,您希望两个导航都使用相同的布局,但其他一切可能会不同? – 2014-10-12 17:16:53

回答

4

你可以做这样的事情:

nav ul li { 
 
    width:100px; 
 
    display:inline-block; 
 
    margin:5px; 
 
    padding:5px; 
 
    color:#333; 
 
    text-align: center; 
 
} 
 
nav[role="main"] ul li { 
 
    background-color:#aaa; 
 
} 
 
nav[role="sub"] ul li { 
 
    background-color:#eee; 
 
}
<!-- Global navigation --> 
 
<nav role="main"> 
 
    <ul> 
 
     <li><a href="index.html" class="active">Startpage</a></li> 
 
     <li><a href="cars.html">Cars</a></li> 
 
     <li><a href="about.html">About us</a></li> 
 
    </ul> 
 
</nav> 
 

 
<!-- Local navigation --> 
 
<nav role="sub"> 
 
    <ul> 
 
     <li><a href="ferrari.html" class="pressed">Ferrari</a></li> 
 
     <li><a href="bmw.html">BMW</a></li> 
 
     <li><a href="volo.html">Volvo</a></li> 
 
    </ul> 
 
</nav>

+0

是的,这是我正在寻找的。非常感激! :) – kexxcream 2014-10-12 07:56:21

+1

不用担心,很高兴帮助.. – 2014-10-12 08:07:25

2

不知道你的

相同的外观,但不同的造型是什么意思

可以使用role属性作为一个CSS选择器,如下所示:

nav[role="main"], 
 
nav[role="sub"] { 
 
    background: #222; 
 
    color: #f40; 
 
} 
 

 
nav[role="main"] a, 
 
nav[role="sub"] a { 
 
    color: #fff; 
 
}
<nav role="main"> 
 
    <ul> 
 
    <li><a href="index.html" class="active">Startpage</a> 
 
    </li> 
 
    <li><a href="cars.html">Cars</a> 
 
    </li> 
 
    <li><a href="about.html">About us</a> 
 
    </li> 
 
    </ul> 
 
</nav> 
 

 
<!-- Local navigation --> 
 
<nav role="sub"> 
 
    <ul> 
 
    <li><a href="ferrari.html" class="pressed">Ferrari</a> 
 
    </li> 
 
    <li><a href="bmw.html">BMW</a> 
 
    </li> 
 
    <li><a href="volo.html">Volvo</a> 
 
    </li> 
 
    </ul> 
 
</nav>

+0

我到目前为止,但如果你开始整合ul,li和css代码呢?你不需要为两个导航都做? – kexxcream 2014-10-12 07:13:58

+0

仍然没有完全得到你想要的。你想要两个导航看起来完全一样吗? – 2014-10-12 07:14:46

+0

是的,我想知道如何在CSS中为相同的代码分配两个角色。 – kexxcream 2014-10-12 07:16:36