广告
返回顶部
首页 > 资讯 > 前端开发 > html >利用CSS3实现圆角的outline效果的示例分析
  • 324
分享到

利用CSS3实现圆角的outline效果的示例分析

2024-04-02 19:04:59 324人浏览 八月长安
摘要

利用css3实现圆角的outline效果的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、首先,outline是个很

利用css3实现圆角的outline效果的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

一、首先,outline是个很牛的东西
1. border近亲
outline和border是近亲,为什么这么讲呢?首先,都是给元素外面套框框的;其次,支持的属性值几乎都是一样的,例如,outline-style和border-style值dotted, dashed, solid, ...之类的,一些语法也几乎一样。如果这都不算近亲,你让绝对定位和浮动何言以对。

2. IE8+支持
outline严格来讲属于CSS3属性,但是IE8+浏览器就支持了。外挂一句,IE9+浏览器的outline还支持invert,专门针对outline-color. 所以,如果你的项目不用管IE6/IE7浏览器,可以把outline挂在心中,有时候说不定会帮忙。

3. 不占据空间
默认的盒模型下,假设元素100*100像素,我们给元素设置border:10px solid,则实际该元素占据的尺寸至少就是120*120像素,元素的偏移、布局啊什么的,就需要多多思量。但是,outline不一样,你哪怕outline:100px solid,元素占据的尺寸还是100*100像素。这种行为表现,与transfORM以及box-shadow等CSS3属性很类似,虽然外形丰满了,但是,占据的真实空间没有影响。于是,我们在实现一些交互效果的时候,例如hover变化,我们就可以专注于效果本身,而不用被布局所左右,是很棒的体验。

4. 直角!圆角?
正好承上启下一下。
二、outline的直角与圆角

一排60*60像素的直角图片,选中的图片外框2像素带圆角高亮。浏览器兼容要求,IE9+以及其他现代浏览器。

一般而言,我们的第一反应是使用border + border-radius。但是,有个问题,就是,这里的外部高亮边框效果是外扩的,要知道,border是会增加元素的尺寸的,于是,为了我们的完美对齐效果,还需要对选中元素做重定位,上下左右的margin值都需要改变。我丢,想想就烦!

像这种UI表现,天生就是outline干的事情。于是,我们大手一挥:

CSS Code

  1. outline: 2px solid #26C2A7;   


亲爱的朋友,千万不要妄图通过border-radius来改变outline的圆角,要知道,outline跟border是近亲,穿一个开裆裤长大的。但是,媳妇可不能共享哈!border-radius和border是登记在案的光明夫妻,看,连姓氏都随了夫君了,人家只认border, 你outline没戏,找自己的媳妇止渴去。

但是,outline貌似是个单身狗,没有媳妇啊,难道outline注定一辈子直角,掰不弯了?
三、outline的圆角效果

茫茫CSS海,乍一看去,貌似没有能让outline圆角的东西。注意措辞,“貌似”,我们如果有双犀利的眼睛,还是会发现某处藏可以让outline圆角的东西。

在FireFox浏览器中,就有和outline匹对的圆角夫妻outline-radius,

其关系,就和border和border-radius的关系一样。

由于目前还只是FireFox浏览器私有的属性,因此,目前的使用需要加-moz-前缀,也就是-moz-outline-radius.

相关CSS代码如下:

CSS Code

img {   
outline: 30px solid #cd0000;    
-moz-outline-radius: 30px;   
}

 

是不是很松松啊!如果你观察足够仔细,会发现,outline-radius和border-radius还是有区别的?看出来没,区别在哪里?答对有奖……哈,没错,你们都答错了!没有任何区别,outline-radius的圆角规则、语法之类跟border-radius就是一样的。

唯一的区别,也就是兼容性问题,不是看出来的,是试出来的。告诉大家一个不幸的消息,目前,除了FireFox浏览器支持outline-radius,其他浏览器都是空大屁!

如果是仅WEBkit/blink浏览器支持还好说,至少移动端还可以用用,搞了个仅仅FireFox支持,玩毛线啊!不对,连毛线都没得玩!

亲,不要绝望啊,车到山前必有路,此路进去……
四、box-shadow模拟outline的圆角效果

outline-radius虽然没戏了,但是,我们可以使用其他属性,可以实现类似的效果,比方说,图形构建大神之一的box-shadow.

我们平时使用box-shadow最多的是前面3个参数,水平/垂直偏移以及模糊大小,可能有一些小伙伴并不清楚其第4个可选参数值究竟有何用?box-shadow第4个参数值,名外扩展,可以把投影范围扩大,当然,扩大的区域是实色区域。我们就可以利用这一特性,模拟实现不影响元素占据尺寸的outline实色边框效果啦!

实例先行,您可以狠狠地点击这里:CSS3 box-shadow模拟outline radius圆角Demo

CSS代码如下: 

  1. img {   
        border-radius: 1px;   
        box-shadow: 0 0 0 30px #cd0000;   
    }

CSS3用的多的小伙伴应该知道,box-shadow的投影形状与border-radius一脉相承,也就是border-radius是圆角的,box-shadow的投影也是圆弧形的。

下面简单解释下两行CSS代码的含义:

  •     border-radius: 1px表示圆角大小1像素。有同学可能奇怪了,怎么是1像素啊,截图圆角明明好几十像素,下面正好就解释了;
        box-shadow: 0 0 0 30px #cd0000出现了4个数值,分别是水平偏移0, 垂直偏移0,模糊0(纯色), 扩展大小30像素。我们可以想象成,光线直接从盒子的正上方照下来,因为没有偏移没有模糊,我们看不到任何阴影。实际上,盒子的阴影正好就是盒子的大小(外带1像素圆角),此时,扩展30像素,我们可以脑补一下,1像素圆角的阴影再扩展30像素。哟,不就是我们需要的效果嘛,不就是截图展示的效果嘛!

    知道border-radius 1像素的左右了吧,扩展30像素后,圆角就是30像素大小了。

然而,虽然肉眼看不出来,上面的方法实际有瑕疵,因为图片不是纯正的直角,有1像素的圆角。如果你想实现完美的内方外圆的效果,可以套一层标签,外面的标签使用border-radius和box-shadow就可以了。

css的三种引入方式

1.行内样式,最直接最简单的一种,直接对html标签使用style=""。2.内嵌样式,就是将CSS代码写在之间,并且用

进行声明。3.外部样式,其中链接样式是使用频率最高,最实用的样式,只需要在之间加上

就可以了。其次就是导入样式,导入样式和链接样式比较相似,采用@import样式导入CSS样式表,不建议使用。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网html频道,感谢您对编程网的支持。

--结束END--

本文标题: 利用CSS3实现圆角的outline效果的示例分析

本文链接: https://www.lsjlt.com/news/88452.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用CSS3实现圆角的outline效果的示例分析
    利用CSS3实现圆角的outline效果的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、首先,outline是个很...
    99+
    2022-10-19
  • 如何利用CSS3实现圆角的outline效果
    这篇文章主要介绍“如何利用CSS3实现圆角的outline效果”,在日常操作中,相信很多人在如何利用CSS3实现圆角的outline效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-19
  • fullPage.js和CSS3实现全屏滚动效果的示例分析
    这篇文章主要介绍了fullPage.js和CSS3实现全屏滚动效果的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先说一下full...
    99+
    2022-10-19
  • Android编程实现带渐变效果的圆角矩形示例
    本文实例讲述了Android编程实现带渐变效果的圆角矩形。分享给大家供大家参考,具体如下:public class RoundRectsActivity extends Activity { @Override protected vo...
    99+
    2023-05-30
    android 渐变 圆角矩形
  • css3文本阴影效果的示例分析
    这篇文章将为大家详细讲解有关css3文本阴影效果的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实例教程:1.给标题添加阴影h2{text-shadow: 5px...
    99+
    2022-10-19
  • Css3中6种动画效果的示例分析
    这篇文章主要为大家展示了“Css3中6种动画效果的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Css3中6种动画效果的示例分析”这篇文章吧。1.闪烁效...
    99+
    2022-10-19
  • 怎么用div+css实现圆角即网页上常用的圆角效果
    这篇文章主要介绍“怎么用div+css实现圆角即网页上常用的圆角效果”,在日常操作中,相信很多人在怎么用div+css实现圆角即网页上常用的圆角效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • CSS3中2D模拟实现摩天轮旋转效果的示例分析
    这篇文章给大家分享的是有关CSS3中2D模拟实现摩天轮旋转效果的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看效果图:由于上传的大小原因,只能录制成这种效果,原图是无...
    99+
    2022-10-19
  • 实现jQuery弹窗效果的示例分析
    这篇文章主要介绍实现jQuery弹窗效果的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文实例为大家分享了jQuery弹窗效果展示的具体代码,供大家参考,具体内容如下<...
    99+
    2022-10-19
  • CSS3媒介查询与滤镜效果的示例分析
    这篇文章给大家分享的是有关CSS3媒介查询与滤镜效果的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 css3媒介查询 媒介查询(Media Queries)是CSS...
    99+
    2022-10-19
  • 如何使用css实现按钮圆角样式的展示效果
    这篇文章给大家分享的是有关如何使用css实现按钮圆角样式的展示效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码如下:   <divstyle="w...
    99+
    2022-10-19
  • CSS3点击按钮实现背景渐变动画效果的示例分析
    这篇文章主要介绍了CSS3点击按钮实现背景渐变动画效果的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图如下:实例代码如下:&l...
    99+
    2022-10-19
  • jQuery实现雪花飘落效果的示例分析
    这篇文章主要介绍jQuery实现雪花飘落效果的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例:<!DOCTYPE html> <html>...
    99+
    2022-10-19
  • 利用Echarts实现图例显示百分比效果
    目录效果图主要代码全部代码echarts图例显示百分比 效果图 主要代码 全部代码 secondChart = () => { //datas的数据是接口拿到的数据...
    99+
    2022-11-13
  • CSS3实现媒体查询的示例分析
    这篇文章主要介绍CSS3实现媒体查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!esponsive Web Design将已有的开发技巧(弹性网格布局、弹性图片、媒体和媒...
    99+
    2022-10-19
  • vue巧用过渡效果的示例分析
    这篇文章主要介绍vue巧用过渡效果的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue提供的了transition组件来实现组件的过渡和路由的过渡,合理使用这个组建可以让我...
    99+
    2022-10-19
  • 如何利用CSS3动画实现圆圈由小变大向外扩散的效果
    这篇文章将为大家详细讲解有关如何利用CSS3动画实现圆圈由小变大向外扩散的效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css3中新增了一个animation的属性,该属性类似于创建一个animati...
    99+
    2023-06-08
  • CSS三角箭头应用实践的示例分析
    CSS三角箭头应用实践的示例分析 ,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。用CSS来制作无图片带箭头的DIV方框(此代码比较适合追求纯代...
    99+
    2022-10-19
  • 如何利用 CSS3 实现点击隐藏的效果
    在现代网页设计中,用户体验是非常重要的一环。而隐藏一些不必要的元素可以有效地提升网页的用户体验,让内容更加简洁、直观。本文就将向您介绍如何利用 CSS3 实现点击隐藏的效果,从而打造更好的用户体验。一、隐藏元素的常见方式在传统的网页设计中,...
    99+
    2023-05-14
  • Vue+Echart实现利用率表盘效果的示例代码
    目录效果演示组件使用方式效果演示 组件 里面对应两个图片资源,panelBackground_red.png 和 panelBackground_green.png,请前往百度网...
    99+
    2023-05-18
    Vue Echart实现利用率表盘效果 Vue Echart利用率表盘效果 Vue Echart表盘 Vue Echart
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作