一、使用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. Android 7.1 屏幕旋转流程分析

    Android 7.1   屏幕旋转流程分析 一.概述 Android屏幕的旋转在framework主要涉及到三个类,结构如图 PhoneWindowManager:为屏幕的横竖屏转换的管理类. Wi ...

  2. 大白话Vue源码系列(03):生成AST

    阅读目录 AST 节点定义 标签的正则匹配 解析用到的工具方法 解析开始标签 解析结束标签 解析文本 解析整块 HTML 模板 未提及的细节 本篇探讨 Vue 根据 html 模板片段构建出 AST ...

  3. 轻谈BFC

    BFC 定义 CSS2.1的定义 Block formatting contexts 9.4.1 Block formatting contexts Floats, absolutely positi ...

  4. Java---Ajax在Struts2框架的应用实例

    Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 很久没有动过ajax了,趁此机会复习一下,写一个简单的例子 一.项目结构: 二.需要的jar包 三.具体代码: 1.web.x ...

  5. LeetCode OJ 之 Ugly Number II (丑数-二)

    题目: Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime fact ...

  6. vim配置分享(持续更新中)

    作者:zhanhailiang 日期:2014-10-24 set nocompatible set nu   "" 自己主动缩进 syntax on set autoindent ...

  7. laravel会话驱动扩展—连接自定义会话管理系统

    laravel 版本:5.3.* 用laravel开发公司信息系统过程中,由于业务或安全问题的考虑,会有一些特殊的用户会话管理方面的需求,如多个子系统会话统一管理或A系统业务操作导致B系统中某些在线用 ...

  8. websocket简介

    在我们做web项目的过程中,经常需要做的一个模块是消息模块.典型的场景:一个商城系统的后台管理,我想实现如果前台有客户下单,后台就会接到消息,以便尽快发货处理. 要实现上述的功能,我们有几种备选的方案 ...

  9. 自学WPF之Binding(二)

    没有Source的Binding,使用ContentText作为Binding源: 上一篇是把CLR类型对象当作指定为Binding的Source,两种方法:一是把对象赋值给Binding.Sourc ...

  10. 动态生成表格的每一行的操作按钮如何获取当前行的index

    for(var i=0; i<10; i++) { $("#tableList").append( $("<tr>").append( $(& ...