关于CSS、HTML。 如何让最左边的边框消失?

为什么不能让最左边的边框消失?
效果图:

--------------HTML:-----------部分代码:
<ul id="topmenu"> <li id="frist"><a href="#">Support</a></li> <li><a href="#">Contact</a></li> <li><a href="#">Site map</a></li></ul>---------------CSS:------------

#topmenu li{float:left; padding:20px 10px 0; border-left:1px #ddd solid;}#topmenu li.frist{border:none;}

首先先说一下你的左边框为啥在样式中没去掉的问题,然后我再教你一个方法。

#topmenu li.frist{border:none;},你在第一个中加了ID,可你这个样式定的是class的,你应该改成:#topmenu li#frist{border:none;}


然后再给你第二种方法。

#topmenu{overflow:hidden; zoom:1;}
#topmenu li{float:left; padding:20px 10px 0; border-left:1px #ddd solid; margin-left:-1px;}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-29
CSS中,把border-left:1px #ddd solid;改为:border-left:0;或者border-left:none;或者不写,即可去除。

结果为:
--------------HTML:-----------
部分代码:
<ul id="topmenu">
<li id="frist"><a href="#">Support</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Site map</a></li>
</ul>
---------------CSS:------------

#topmenu li{float:left; padding:20px 10px 0; border-left:none;}
#topmenu li.frist{border:none;}追问

我指的是最最左边的竖线;即只让Support左边的消失。。
。。

追答

一般写2种样式,一种没有线的,也就是第一个样式,给最前面的Support调用,还有一个左侧有线的样式,给其他导航菜单使用。

第2个回答  2014-01-29
#topmenu li{float:left; padding:20px 10px 0; border-left:1px #ddd solid;}
把其中的solid去掉
#topmenu li{float:left; padding:20px 10px 0; border-left:1px #ddd;}就可以了追问

.我指的是最最左边的竖线;即只让Support左边的消失。。

追答

你的style是针对整个ul的,不可能只去掉一个。既然全去掉了,而你需要分隔线,你可以在li里面加分割线
|  ...
在第二个和第三个li里面加

追问

谢你啦
只是不是有:多条规则作用于同一边框并产生冲突时,后面的设置会覆盖前面的设置么 ?我前面先给每个li设置border-left,再专门针对"support"的id:first将他的边框去掉 为什么不能。。。?

追答

完善之后前一个没有了。。。
三种优先级:内联(写在标签里面),内部(你用的),外部(把样式写在CSS)
这里可以用内联:support

相似回答