[CSS]CSS:类目之间的竖线问题

现在就来说个淘宝首页上的一个小技巧。

  1、类目之间的横竖线

  

  从很久很久以前开始,类目间的竖线无非都只有三种。

  1、背景图

  在a标签设置一个padding 用宽1px高不等的背景图来position到右侧。

  缺点:最后一个还是要用class来隐藏掉背景。

  2、符号

  在每个a标签之间用”|”符号来填充。

  缺点:html文件变大,文件维护变得很麻烦,而且在html中毫无意义。

  3、a标签右侧的boder。

  同背景图一样,只不过使用border-right来代替。缺点也同上。

  看到这里,可能已经有人打开淘宝首页用firebug查看源码来看是怎么做了。

  其实现有是利用ul的overflow:hidden 再将li的margin-left:-1px的做法做出来的。这样的做法就可以同时避免以上的缺点了。

 

 

有时单单是给容器添加overflow: hidden,IE6很可能根本看不见任何效果。

但是一旦容器有了固定的高度、宽度等等拥有了布局角色,overflow: hidden立刻就达到了期望的效果。这个主要是IE6的hasLayout问题:ul默认的hasLayout属性值是false,IE 有一个概念叫做“拥有布局”(hasLayout,如果装了 IE Developer Toolbar 可以在属性栏看到),“拥有布局”某种程度上可以理解为就是拥有固定宽高。有不少 IE6 的bug仅通过给元素添加固定宽高就可以解决,这个就是跟 IE 的“拥有布局”概念紧密相连的。似乎很多时候 IE 都认为只有“拥有布局”的元素才可以拥有别的一些属性,因此有些时候,IE6 明明支持的CSS属性非要等到“拥有”了“布局”才会正常工作。说起来这也不是很难解决的问题,但是动辄要添加固定宽高会无端增加不比较的限制。由于目前还没有更加的解决方案——你能保证你的客户都是用 Fx、Safari、Opera 吗——因此,只能将就一下,think like IE.

 

下面贴上一个效果图以及测试代码:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSS中的:before和:after是伪元素,可以用来在元素的前面或后面插入内容。 :hover是CSS中的伪类,表示当鼠标悬停在元素上时应用的样式。 综合起来,可以使用:before和:after伪元素来在元素的前面或后面插入内容,并使用:hover伪类来在鼠标悬停时应用样式。 ### 回答2: CSS是一种样式语言,用于为网页添加样式和设计。CSS提供了许多强大的功能,包括:before、:hover和:after伪类。这些伪类为网页提供了更多的设计选项,使其更具吸引力和专业性。下面我们分别来讲解这三个伪类。 :before:是一个伪类,用于在元素的内容前插入内容。通过使用:before伪类,我们可以为网页加上漂亮的样式,例如很流行的下划线效果、图标等。使用它可以做出很多有趣的效果,可以添加类似于文字前缀、标签符号等的样式。 :hover:通常用于鼠标悬停在链接、按钮等上时的样式改变。它允许我们在用户使用鼠标悬停在一个元素上时改变它的样式。我们可以用它来改变文本的颜色、背景颜色、添加阴影、缩放、旋转等,增强用户交互性和视觉效果。 :after:是一个伪类,用于在元素的内容后插入内容。它的使用与:before类似,在元素之后添加内容,可以用此达到一些特殊的效果,比如为元素添加类似于引用结尾标志等样式。 这三个伪类中,使用最广泛的是:hover伪类,因为它可以增强用户的交互体验,并且在网页设计中应用非常广泛。虽然:before和:after这两个伪类在使用时更加复杂,但如果使用得当,可以为网页带来一些非常独特和有用的效果。 总之,通过这三个伪类的使用,我们可以在网页设计中更加创意和细致,在用户界面上增加更丰富的功能和表现形式,为用户提供更好的体验。 ### 回答3: CSS是层叠样式表的简写,是一种用来设计网页页面样式的语言。CSS包括一系列的选择器和声明块,可以用来控制HTML页面的布局、字体、颜色和其他元素的显示效果。其中常用的选择器包括`:before`、`:hover`和`:after`。 `:before`伪元素 `:before`伪元素可以在被选元素的内容前面添加一个内容或样式。它可以用来设置页面的样式或生成页面的一些元素。比如,可以用`:before`选中一个元素并为其添加一个箭头。 `:hover`伪类 `:hover`伪类指的是鼠标指针悬停在一个元素上的状态。通常,我们会用它来改变元素的样式,比如改变文字颜色、背景颜色以及元素的透明度等。 `:after`伪元素 `:after`伪元素可以在被选元素的内容后面添加一个内容或样式。它通常用于在一个元素后面添加一些可用来提示用户的文字或图标等。比如,可以用`:after`选中一个按钮并为其添加一个小箭头,用来提示用户该按钮可以展开或缩起。 总的来说,CSS中常用的选择器包括`:before`、`:hover`和`:after`,它们可以通过设置元素的样式和生成元素的方式来为网页设计提供更多的可能性。掌握这些选择器可以让我们在设计网页是变得更加得心应手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值