在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原文链接:CSS Design: Custom Underlines
由 A List Apart 杂志及作者授权翻译。(Translated with the permission of A List Apart Magazine and the author[s].) 说明:文章中“[补充]”内容系译者所补充添加(来自 CSS 2.0 中文手册),目的是方便读者理解相关内容。 虽然网页设计师通常有大量的方法控制文档如何呈现,但是基本的CSS不能为页面中链接下方的下划线样式提供很多选择。不过只需一点小技巧,你就能获得链接样式显示方式的创作控制。 自定义下划线给一些合适的网站以新的创作机会。自定义下划线还能够被用于为包含在同一个页面中的不同链接提供额外的视觉线索。 开始你应该从为你下划线创建图形开始。该图将会水平的重复,而如果你希望(网页)背景能够完全显示的话,你需要创建一个透明的.gif文件。 如果你的下划线图形有几像素高,那么你应该增加的文本的line-height(行距),以增加上一行底部与下一行顶部的之间的空间。 p { line-height: 1.5; } ------------------------------------------------- [补充] 语法: line-height : normal | length 取值: normal : 默认值。默认行高 说明: 检索或设置对象的行高。即字体最底端与字体内部顶端之间的距离。 ------------------------------------------------- 在能为链接创建自定义下划线之前,我们需要移除已经存在的下划线: a { text-decoration: none; } ------------------------------------------------- [补充] 语法: text-decoration : none || underline || blink || overline || line-through 取值: none : 默认值。无装饰 说明: 检索或设置对象中的文本的装饰。 ------------------------------------------------- 为了创建自定义的下划线,我们为链接元素设置背景图像: a { background-image: url(underline.gif); } ------------------------------------------------- [补充] 语法: background-image : none | url ( url ) 取值: none : 默认值。无背景图 说明: 设置或检索对象的背景图像。 ------------------------------------------------- 我们希望这个图像在文本底部顺着水平方向重复而不是垂直方向,否则它就将显示在链接文本自身的后面。我们限制背景图像沿着X轴重复: a { background-repeat: repeat-x; } ------------------------------------------------- [补充] 语法: background-repeat : repeat | no-repeat | repeat-x | repeat-y 取值: repeat : 默认值。背景图像在纵向和横向上平铺 说明: 设置或检索对象的背景图像是否及如何铺排。必须先指定对象的背景图像( background-image )。 ------------------------------------------------- 不管字体的大小如何,为了保证我们的图像都出现在链接文本的下面,我们将要使用background-position(背景定位)属性定位图像至链接元素的底部。对于某些背景图形,例如箭头,对图像对齐元素的哪一边,你或许有自己的偏好。就我们这个例子而言,我们将背景置于底部的右边: a { background-position: 100% 100%; } ------------------------------------------------- [补充] 语法: background-position : length || length 取值: length : 百分数 | 由浮点数字和单位标识符组成的长度值。请参阅 长度单位 说明: 设置或检索对象的背景图像位置。必须先指定 background-image 属性。 ------------------------------------------------- 为了给链接文本正文的自定义下划线图形创建空间,我们将增加一些padding(填充)。依赖于所使用字体的大小,下划线图形的精确位置将会相对于链接文本的基线发生改变。建议你从bottom-padding开始,与下划线图形高度同高,调整以适合于你的需要: a { padding-bottom: 4px; } ------------------------------------------------- [补充] 语法: padding-bottom : length 取值: length : 由浮点数字和单位标识符组成的长度值 | 或者百分数。百分数是基于父对象的宽度。不允许负值。 说明: 检索或设置对象底边的内补丁。对于 td 和 th 对象而言默认值为 1 。其他对象的默认值为 0 。 ------------------------------------------------- 因为下划线图形是定位于链接元素的底部,所以我们需要保证链接不能横跨多行(如果他们被允许跨越多行,那么只有最低的一行链接文本显示自定义下划线)。我们将使用CSS的white-space属性禁止链接文本换行。 a { white-space: nowrap; } ------------------------------------------------- [补充] 语法: white-space : normal | pre | nowrap 取值: normal : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行 说明: 设置或检索对象内空格字符的处理方式。 ------------------------------------------------- 链接元素的所有CSS属性可以合并为: a { 如果你想自定义下划线的效果只在鼠标滑过链接时出现,只需设置CSS背景属性为:hover伪类,取代直接设置于链接元素上的样式即可。 a { a:hover { 示例 |
请发表评论