- 热门文章:
- · 用 iframe 解决下拉框与层之冲突
- · 样式表在web标准应用存在的问题
- · css布局中的居中问题
- · 巧用CSS的Border属性
- · 如何用css设置网页字体
- · 学习CSS的10大理由
- · 个性化表单五技巧
- · CSS使用详解
- · CSS 中表示单位的符号
- · 巧用CSS制作图象特效
- · 用CSS滤镜实现图片翻转特效
- · 显示你个性的鼠标指针
巧妙利用CSS自定义网页下划线样式
CSS为网页设计者们提供了丰富而灵活的页面元素表现形式的控制手段。但是,或许你可能注意到了,对于下划线,CSS提供的可选操作却不是很多。一般情况下,人们看到的下划线基本上都是横直线,缺少生气和灵动。不过,路并不是死的,通过一些绝妙的改造,我们还是可以做出富有创意的下划线来使页面更为美观。
这是一个自定义下划线的例子:自定义的下划线 。是不是很酷呢?除了能让你的网页呈现出一个与众不同的风格之外,它还能对于文档中不同的文字类型给与不同的视觉外观,起到提醒或者着重的作用。
下面我们就来一起学习如何自定义与众不同的下划线。
首先,我们得先准备一幅作为下划线的图片。你可以利用先成的,也可以自己动手绘制。需要提醒注意的是,你所准备的图片应该适合水平方向上的重复,最好还能使透明的GIF格式,这样能够确保背景不被遮挡。
另外,如果你所准备的下划线图片在高度(粗细)上占用比较多的像素,那么,应当增加该行文本和下行文本之间的行距(line-height)空间,可以这么设定:
p { line-height: 1.5; }
接下来要做的事情是取消原来默认的下划线,这样我们才能把自定义的下划线应用到指定文本,使用如下的CSS设定(它的含义是让超链接文字没有任何修饰):
a { text-decoration: none; }
好了,现在可以来创建自定义的下划线了,这里,我们用准备的图片设定为超链接元素的背景图片,如下:
a { background-image: url(underline.gif); }
当然,文字的长度未必和原图的长度相等,这就需要考虑图片重复的问题,也就是说,应当把重复限定在水平方向的X轴上,可以如下设定:
a { background-repeat: repeat-x; }
还有个必须考虑的问题,就是字的大小改变怎么办?要让下划线的图片始终显示在超链接文字的下方,而不必理会文字大小的话,我们应当使用CSS中的背景位置(background-position)属性来定位图片位于超链接元素色底部。而对于如箭头这样的下划线图片,还得考虑超链接的文本边缘和图片边对齐。 下面的这个例子将下划线背景图片的位置限定在右下角:
a { background-position: 100% 100%; }
如何控制自定义的下划线图片和文字之间的空白呢?这个可以通过增加填充(padding)来做到。下划线图片相对于超链接文本基线(baseline)的确切位置以来与所用的字的大小。建议你一开始将底部填充(bottom-padding)的大小设定同下划线图片的高度相等,然后再慢慢调整到合适位置(下面这个CSS设定超链接的底部填充为4像素):
a { padding-bottom: 4px; }
因为下划线的图片被定位在超链接元素的底部,所以需要确保所用的超链接文本没有跨行,否则,只有处在最下面的超链接文本会出现自定义的下划线了。怎么解决呢,那就是阻止超链接文本跨行产生,可以通过CSS的white-space属性来完成:
a { white-space: nowrap; }
好了,把上面提到的这些超链接标记的CSS设定合并起来,结果如下:
a {
text-decoration: none;
background: url(underline.gif) repeat-x 100% 100%;
padding-bottom: 4px;
white-space: nowrap;
}
还记得有些超链接文本没有下划线,但是当鼠标移到它的上面的时候,下划线就浮现出来的情况么?自定义的下划线也可以做到这个效果,那就在:hover上设定超链接背景,而不是在超链接标记a上设定,如下:
a {
text-decoration: none;
padding-bottom: 4px;
white-space: nowrap;
}
a:hover {
background: url(underline.gif) repeat-x 100% 100%;
}
怎么样,是不是很简单呢?在来看看一些例子和它们对应的CSS设定:
静态下划线
a#example3a {
text-decoration: none;
background: url(@#http://tech.tom.com/images/computer/2004/02/04/diagonal.gif@#) repeat-x 100% 100%;
white-space: nowrap;
padding-bottom: 2px
}
浮动效果下划线
a#example3b {
text-decoration: none;
white-space: nowrap;
padding-bottom: 2px;
}
a#example3b:hover {
background: url(@#http://tech.tom.com/images/computer/2004/02/04/diagonal.gif@#) repeat-x 100% 100%;
}
静态下划线
a#example4a {
text-decoration: none;
background: url(@#http://tech.tom.com/images/computer/2004/02/04/flower.gif@#) repeat-x 100% 100%;
white-space: nowrap;
padding-bottom: 10px
}
浮动花朵效果下划线
a#example4b {
text-decoration: none;
white-space: nowrap;
padding-bottom: 10px;
}
a#example4b:hover {
background: url(@#http://tech.tom.com/images/computer/2004/02/04/flower.gif@#) repeat-x 100% 100%;
}
静态箭头下划线
a#example1a {
text-decoration: none;
background: url(@#http://tech.tom.com/images/computer/2004/02/04/arrow.gif@#) repeat-x 100% 100%;
white-space: nowrap;
padding-bottom: 5px
}
浮动动画箭头下划线 (这里箭头会出现滚动,不过这一滚动图片的效果只在部分浏览器中看得到)
a#example2b {
text-decoration: none;
white-space: nowrap;
padding-bottom: 5px;
}
a#example2b:hover {
background: url(@#http://tech.tom.com/images/computer/2004/02/04/animarrow.gif@#) repeat-x 100% 100%;
}
- · CSS滤镜应用技巧
- · 在DreamWeaver中应用CSS样式表技巧两则
- · CSS文本属性
- · 网页中轻松实现三维字体
- · 带你了解样式表滤镜(二)
- · 用CSS 快速定制下拉菜单
- · CSS小技巧
- · 用css改变鼠标显示
- · 如何将CSS 加诸于网页
- · 背景图的详细设定
- · CSS字型的设定
- · CSS字型的设定
- · CSS定位组件CSS 定位方式
- · CSS字体的详细设定
- · CSS边框的设定方法
- · CSS的滤镜效果(2)
- · CSS的滤镜效果(1)
- · 由显示/隐藏引出的CSS Bug
- · CSS轻松实现色块标题标识
- · 在CSS中关于字体处理效果的思考
- · 使用CSS设置段落首字下沉
- · 初步了解CSS3
- · CSS重新定义项目符号和编号
- · 巧用CSS制作树状目录
- · 巧用CSS的Border属性制作特效菜单
- · 给文字加上阴影效果的方法
- · 巧用样式表,让文本框与按钮变个样
- · 让CSS使网页图片半透明
- · 巧用CSS动态控制文本的属性
- · CSS2 参考
- · 创建并引用样式类
- · 用CSS制作Alpha滤镜测试板
- · 巧用CSS制作可控闪烁效果
- · Invert属性、Glow属性和FlipH、FlipV属性
- · DropShadow属性、Chroma属性和blur属性效果
- · CSS产生的特殊效果
- · CSS的字体、字型控制
- · 关于CSS中的类-CLASS
