Maison >interface Web >tutoriel HTML >CSS轮廓outline - 小火柴的蓝色理想
轮廓outline处在边框边界的外面,它不像边框那样参与到文档流中,因此轮廓出现或消失时不会影响文档流,即不会导致文档的重新显示。利用轮廓,浏览器可以合并部分轮廓,创建一个连续但非矩形的形状。默认地,轮廓是一个动态样式,只有元素获取到焦点或被激活时呈现
[注意]IE7-浏览器不支持
与边框类似,轮廓最基本的方面是样式,如果一个轮廓没有样式,边框将根本不会存在。与边框不同的是,值少了一个hidden
outline-style
值: none | dotted | dashed | solid | double | groove | ridge | inset | outset | inherit
初始值: none
应用于: 所有元素
继承性: 无
与边框类似,轮廓宽度不能为负数,也不能指定为百分比值
outline-width
值: thin | medium | thick |
初始值: medium
应用于: 所有元素
继承性: 无
[注意]如果轮廓的样式是none,则轮廓宽度计算值为0
与边框不同,轮廓颜色有关键字invert反色轮廓,代表对轮廓所在的像素完全反色转换,使轮廓在不同的背景颜色中都可见。但实际上invert关键字只有IE浏览器支持,其他浏览器的轮廓颜色是元素本身的前景色
outline-color
值:
初始值: invert(IE)、前景色(其他浏览器)
应用于: 所有元素
继承性: 无
轮廓偏移用来定义轮廓的偏移位置的数值。当参数值为正数时,表示轮廓向外偏移;当参数值为负值时,表示轮廓向内偏移
[注意]IE浏览器不支持
outline-offset
值: length | inherit
初始值: 0
应用于: 所有元素
继承性: 无
轮廓outline类似于边框样式的border属性,允许一次完成轮廓样式、宽度和颜色的设置。由于给定轮廓必须采用某种统一的样式、宽度和颜色,所以outline是关于轮廓的唯一简写属性。对于轮廓没有诸如outline-top或outline-right之类的属性
[注意]outline中并没有包括outline-offset,需要对outline-offset进行单独设置
outline
值: [
初始值: 无
应用于: 所有元素
继承性: 无
由于轮廓outline不影响元素的盒模型大小,不影响页面布局,所以可以用outline模仿border边框效果。但如果是圆角边框就不是那么好办了。
firefox浏览器支持私有属性-moz-outline-radius来设置轮廓圆角。该属性对应的js写法是MozOutlineRadius
对于其他浏览器,我们可以使用其他属性实现类似效果。box-shadow与border-radius属性一脉相承,也就是说如果border-radius是圆角,则box-shadow的投影也是圆角
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="show"</span><span style="color: #0000ff;">></span>测试内容<span style="color: #0000ff;"></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
<span style="color: #800000;">.show</span>{<span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> 50px</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>;<span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;"> 100px</span>;<span style="color: #ff0000;"> background-color</span>:<span style="color: #0000ff;"> pink</span>;<span style="color: #ff0000;"> border-radius </span>:<span style="color: #0000ff;"> 1px</span>;<span style="color: #ff0000;"> box-shadow</span>:<span style="color: #0000ff;"> 0 0 0 30px lightblue</span>; }