一、使用box-shadow实现多重边框

html

<div class="multiple"></div>

css

.multiple{
background: yellowgreen;
box-shadow: 0 0 0 10px #655,0 0 0 20px deeppink;
margin: 200px;
width :300px;
height:200px;
}

效果图

值得说明的是,box-shadow是层层叠加的,第一层投影位于最顶层,依次类推。因此你需要按照此规律扩张半径。比如上面的代码,如果我们想在外层在加一个5px的外框,那么久需要指定扩张半径的值为25px(20px+5px)。上述方法所创建出的“假的边框”出现在元素的外圈,他们并不会响应鼠标事件,比如悬停或者点击,如果这一点非常重要,你可以给box-shadow属性加上inset关键字,来使投影绘制在元素的内圈,注意此时需要额外的内边距俩腾出足够的空间,代码如下。

css

.multiple{
background: yellowgreen;
box-shadow: inset 0 0 0 10px #655,inset 0 0 0 20px deeppink;
padding: 20px;
margin: 200px;
width :300px;
height:200px;
}

加padding和不加padding效果图

二、使用outline实现二重边框(缝边效果)

html

<div class="multiple"></div>

css

.multiple{
background: yellowgreen;
border: 10px solid #655;
outline: 10px solid deeppink;
width :300px;
height:200px;
margin: 100px;
}

效果图

注意:

1. 这种方法只适用于双层边框的场景;

2. 边框不一定融合border-radius产生的圆角

3. 可以接受负值,因此可以实现缝边效果,如下:

css

.multiple{
background: #655;
border-radius: 20px;
outline: 2px dashed white;
outline-offset: -15px;
width :300px;
height:200px;
margin: 100px;
}

效果图

使用border+outline也可以实现这种效果:

css

.multiple{
background: #655;
border: 2px dashed white;
outline: 10px solid #655;
width :300px;
height:200px;
margin: 100px;
}

效果图

css多重边框的更多相关文章

  1. [css]《css揭秘》学习(二)-多重边框

    一.box-shadow属性 box-shadow除了生成投影,还可以用来生成边框:它接受第4个值作为扩张半径,0的x轴偏移+0的y轴偏移+0的模糊值+0的扩张半径,得到的显示效果和边框是一样的:但是 ...

  2. [css 揭秘]:CSS揭秘 技巧(二):多重边框

    我的github地址:https://github.com/FannieGirl/ifannie/ 源码都在这上面哦! 喜欢的给我一个星吧 多重边框 问题:我们通常希望在css代码层面以更灵活的方式来 ...

  3. 【基础】CSS实现多重边框的5种方式

    简言 目前最优雅地实现多重边框的方案是利用CSS3 的 box-shadow属性,但如果要兼容老的浏览器,则需要选择其它的方案.本文简要地列举了几种多重边框的实现方案,大家可以根据项目实际及兼容性要求 ...

  4. CSS揭秘—多重边框(二)

    前言: 所有实例均来自<CSS揭秘>,该书以平时遇到的疑难杂症为引,提供解决方法,只能说秒极了,再一次刷新了我对CSS的认知 该书只提供了关键CSS代码,虽然有在线示例代码链接,但访问速度 ...

  5. CSS揭秘之多重边框&连续的图像边框

    1.多重边框 我们可以通过使用border-image来写一个多重边框,或使用多个元素来模拟多重边框,不过我们有更好的办法来制作一个多重边框,那就是使用box-shadow的第四个参数(称为扩张半径) ...

  6. CSS实现多重边框和内凹圆角

    CSS实现多重边框 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...

  7. css奇技淫巧—box-shadow与outline绘制多重边框效果

    css语法: box-shadow: h-shadow v-shadow blur spread color inset; 注释:box-shadow 向框添加一个或多个阴影.该属性是由逗号分隔的阴影 ...

  8. CSS揭秘-半透明边框与多重边框

    场景一: 实现半透明边框: 由于CSS样式的默认行为,背景色的渲染范围是 content+padding+border. 半透明边框被主调色影响, 实现的效果为   解决方案: 使用backgroun ...

  9. css border 三角形阴影(不规则图形阴影) & 多重边框的制作

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! border 的组合写法 border:border-width border-style border- ...

随机推荐

  1. 逐步搭建Lamp环境之vim的三种模式以及基本命令

    在Linux中vim的三种模式分别为:命令模式.末行模式.编辑模式.以下是三者的关系图: 三种模式的彼此切换: 命令模式是vim中的默认模式. 命令模式切换至末行模式: 使用英文冒号(:). 末行模式 ...

  2. Material使用03 MdCardModule模块、MdInputModule模块

    需求:先需要增加一个登录模块 1 创建登录模块 ng g m testLogin 1.1 将共享模块导入到登录模块中 import { NgModule } from '@angular/core'; ...

  3. hdu 5225 Tom and permutation(回溯)

    题目链接:hdu 5225 Tom and permutation #include <cstdio> #include <cstring> #include <algo ...

  4. Python3简单的输入输出及内置函数查看

    工作之余和女朋友一起学Python3,代码都是她敲的,有点辣眼睛,仅做参考. 1.题目:输入"姓名",输出"你好,姓名" 有关安装和打开Python shell ...

  5. nginx、fastCGI、php-fpm关系梳理

    前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx ...

  6. 如何导入外部的源码到eclipse中

    用struts,spring等框架开发也有两年的时间了,一直很少去阅读其源码,每次在eclipse编码的过程中想要看某一个类的源码,ctrl点击总是出现source not found的提示,也没有去 ...

  7. java读取请求中body数据

    java读取请求中body数据 /** * 获取request中body数据 * * @author lifq * * 2017年2月24日 下午2:29:06 * @throws IOExcepti ...

  8. python 列表解析

    列表解析,主要用于动态创建列表 本篇主要说一下,lambda.map().和filter()同列表解析语句之间结合的用法 列表解析的基本语法为:[expr for iter_var in iterab ...

  9. .net core系列之初识asp.net core

    .net core已经发布了2.0版本,相对于1.0的有了很大的完善,最近准备在项目中尝试使用asp.net core,所以就进行了一些简单的研究. 初识asp.net core分为以下几个部分: 1 ...

  10. mybatis的#{}占位符和${}拼接符的区别

    #{}占位符:占位 如果传入的是基本类型,那么#{}中的变量名称可以随意写 如果传入的参数是pojo类型,那么#{}中的变量名称必须是pojo中的属性.属性.属性- ${}拼接符:字符串原样拼接 如果 ...