CSS outline实现意想不到的效果

今天在微博看见@zhangxinxu召集各种实现了十字功能的方法。@大地Dudy和@灵感_idea都想到了用outline-offset这个方法,大开眼界。我就开始关注起了这个css属性。

这个属性其实很简单,就4种类型:

  • outline-width
  • outline-style
  • outline-color
  • outline-offset

DEMO

那让我们来试一试:

和border的区别

那不是和border很像吗?它们又有什么区别呢?

答:outline是位于边框外围的轮廓线,不会占据空间。

那我们让outline和border一起出现试试:

得出结论:

  1. 红色的轮廓线果然不会占据空间。这里,我特别把body的margin和padding都设置为0,为了效果更加明显。
  2. 轮廓线位于边框的外围。从效果可以看到,轮廓线位于border的外围。

好玩的地方呢?

之前,并没有看出什么有趣的地方,那是因为outline-offset还没有出场。

比如:

那~兼容性怎么样!?

之前都没有怎么遇见过,难道是因为兼容性特别不好?事实上,果然在兼容性上有问题:

所有的IE都不兼容。我亲自试了下,ie11下也会有问题。那只能默默忽略ie~很多时候,我们都因为兼容性而受到束缚。

属性可用的值速查

  • outline-width

    • thin medium thick px ex em
  • outline-style
    • outline-style: auto
    • outline-style: none
    • outline-style: dotted
    • outline-style: dashed
    • outline-style: solid
    • outline-style: double
    • outline-style: groove
    • outline-style: ridge
    • outline-style: inset
    • outline-style: outset
    • outline-style: inherit
  • outline-color
    • outline-color: invert outline-color: red
    • outline-color: inherit
  • outline-offset
    • px em inherit

那...以后的一些样式,我们是不是可以尝试用outline来实现呢?(不考虑IE情况下)期待相遇。

时间: 2025-01-21 05:12:10

CSS outline实现意想不到的效果的相关文章

CSS实现阴影文字效果_CSS/HTML

..:: 巧用CSS制作艺术字 ::.. 如果灵活应用CSS各种滤镜的特点并加以组合,我们可以得到许多意想不到的效果.这是一些效果示范,供各位参考. E流设计 用blur滤镜做出的效果,代码如下: FILTER: blur(direction=135,strength=8) E流设计 用dropshadow滤镜做出的效果,代码如下: FILTER: dropshadow(color=#B4BBCF,offx=6,offy=6,positive=1) E流设计 用glow滤镜做出的效果,代码如下:

用CSS实现背景半透明效果的方法实现

如何用CSS实现背景半透明效果?做过活动页面的同学可能会遇到要做背景半透明的效果,我们一般的做法是用两个层,一个用于放文字,另一个用于做透明背景,因为透明滤镜的效果会影响到里面的内容.不过如果你只需求在IE下实现,我们有更简单的做法: HTML代码: <div class="alpha1"> <div class="ap2"> <p>背景为红色(#FF0000),透明度20%.</p> </div><

利用CSS的:hover做相册效果

css   实现原理 这个效果的原理很简单,利用:hover伪类,然后利用display控制内容的隐藏和显示,显示的内容采用position定位到你想要的位置就可以了. 从一个简单的例子中看看具体怎么实现的 这里是例子代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&

纯css实现蓝色圆角效果水平导航菜单代码

         本文实例讲述了纯css实现蓝色圆角效果水平导航菜单代码.分享给大家供大家参考.具体如下:          这是一款可爱的蓝色圆角水平导航菜单,用到几张背景图片,我觉得这款菜单挺实用,特别是用在个人博客中非常合适.在兼容性方面做的也很好,几乎兼容所有的浏览器. 运行效果截图如下: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org

纯CSS实现多级半透明效果菜单代码

 本文实例讲述了纯CSS实现多级半透明效果菜单代码.分享给大家供大家参考.具体如下: 这是一款基于CSS实现的多级半透明菜单,最多可支持5级的CSS菜单,菜单样式可自己调整,默认先是这种,兼容多种浏览器. 运行效果截图如下:   具体代码如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dt

兼容各浏览器:CSS定义PNG透明效果

 虽然有CSS有很多方法能实现PNG图片透明效果,但在各浏览器中的兼容效果却不好,小编找到了一个能兼容各浏览器用CSS定义PNG透明效果的方法,方法如下: <style> .mycls{ width: 48px; height: 48px; background: url(20090318230119136.png) no-repeat left top; _background: none; _filter: progid:DXImageTransform.Microsoft.AlphaIm

javascript-JS 与CSS设计动态界面效果

问题描述 JS 与CSS设计动态界面效果 火狐浏览器首页的那个换肤效果怎么做的?点击之后,页面向下滑动,现实可能需要更换的主题 解决方案 在页面的顶端创建一个DIV(这个DIV里要包括你想表达的其他DIV) 然后次height 为0px ; 之后的滑动效果 是要用JS 或者JQuery 来 实现的(用JS 的点击事件将这个DIV 的height 改为题主想要的,当然要是想火狐主页滑动的有流畅感的话,还需要自己写一个 speed();的函数..):希望题主先去了解 JS 加油.. 解决方案二: 你

css实现气泡框效果(实例加图解)_CSS/HTML

前提:气泡框或者提示框是网页很常见的,实现它的方式有很多,我们以前最常用的就是切图片 然后通过 "定位" 方式 定位到相应的位置,但是用这种方式维护很麻烦,比如设计师想改成另外一种或者另外一种颜色 那我们只有再次切图片等.下面我们来学习下使用html+css来实现这种效果! 如下效果:    and   我们可以来分析下:要实现这种效果 无外乎就是一个矩形和一个小三角形 然后三角形定位上去就可以了,那么我们怎么样通过css来制作小三角形呢? 一:首先我们来看看css border属性,

jQuery+css实现的时钟效果(兼容各浏览器)_jquery

本文实例讲述了jQuery+css实现的时钟效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 这里没有做太多的修饰,简单的实现了一下功能,另外,用的是js的setTimeout方法,当时间长了之后,会有一定的延时,建议,在每隔多少分钟执行一次时钟校准!哈哈,都有误差的嘛,反正我是没给你校. 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.