一、什么是css轮廓(outline)属性
轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
举个例子来说吧:在我们平时阅读浏览器里的内容时,当鼠标点击让一个a标签链接或者一个input的单选框获得焦点的时候,该元素将会被一个轮廓虚线框围绕。这个轮廓虚线框就是轮廓(outline)。
在默认情况下,点击a标签,input,或者添加鼠标点击事件的时候,浏览器就会留下一个轮廓外框(chrome之下为蓝色)。然而这些默认的轮廓外框,有时候很影响美观,破坏了前端页面的整体效果,我们并不是很想保留下来。那么如何把浏览器默认的轮廓外框去掉,又或者改变这个默认的轮廓外框效果?
css的轮廓(outline)属性让我们可以改变这个默认的轮廓虚线框效果。轮廓(outline)属性有如下的相关属性:
outline:在一个声明中设置所有的轮廓属性
outline-style:设置轮廓的样式
outline-width:设置轮廓的宽度
outline-color:设置轮廓的颜色
outline-offset:对轮廓进行偏移,并在边框边缘进行绘制
其中第1个相关属性outline是速写形式,格式为:
outline:outline-color||outline-style||outline-width;
让我们不用一个一个的设置轮廓的相关样式,可以一次性完成设置。
我们用下面的例子来看看css的轮廓(outline)属性的使用:
如果想让链接获取到焦点时更醒目,可以设置轮廓线条为红色,可以如下:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>轮廓--outline</title>
<style>
.a{outline:5pxsolidred;}
</style>
</head>
<body>
<ahref="#">我是默认下的连接</a><br/><br/>
<ahref="#"class="a">我是一个测试连接,会红</a>
</body>
</html>
效果图如下:
1.jpg
而如果只是单纯的想去掉影响美观的Tab上的轮廓线条,outline属性可如下设置:
.tab{outline:none;....../*otherproperties*/}
从上面的例子可以看出轮廓(outline)与边框(border)很相似,但轮廓(outline)和边框(border)虽然相似却也是不同的。
二、轮廓(outline)与边框(border)的区别
outline是不占空间的,既不会增加额外的宽或者高;border会占用宽度;因此outline不会象border那样影响元素的尺寸或者位置。
outline有可能是非矩形的;border就是普通边框。
outline是针对链接、表单控件和ImageMap等元素设计;border可应用于几乎所有有形的html元素。
Tag:
如何