@多重边框

首先呢,多重边框,从字面上理解就知道我们的目标是希望目标元素的边框是一层又一层的。

很显然,border-image这种东西就不要考虑啦~ LEA姐姐告诉我们通过box-shadow这个属性能够实现多重边框:

 box-shadow: *h-shadow* *v-shadow* *blur* *spread* *color* inset;

神奇的是一个box-shadow里面可以写好多组
类似于上面的数值,这就比border(只有一层)好用多了有木有!而如果只希望呈现出一般solid边框的效果,只需要酱紫:

.wrapper{
   margin: 300px auto; 
   width: 300px; 
   height: 200px; 
   background: yellowgreen; 
   box-shadow: 0 0 0 10px purple,0 0 0 15px pink,0 0 0 25px #ccc,0 0 0 30px orange inset;
}

CSS Secrets @多重边框 - CSS娃娃 - CSS娃娃的博客

但是亲们发现没有,有两点是需要我们稍微留心一下的:

  1. 每一组值当中的shadow宽度并不是在前一组值的基础上计算的,而是都相对于div.wrapper的“边”来计算;
  2. 在颜色后面加上一个inset,边框就真的跑到里面去了呢~

然而我会告诉你还有两点也需要注意吗?

  1. box-shadow不会被box-sizing所影响;
  2. :hover的时候,box-shadow(outside the div)的部分是不会被算在内噢~

当我们只需要两层边框的时候,除了border之外,别忘了还有个outline在默默地等候着我们的召唤。

 .wrapper{
    margin: 300px auto; 
    width: 300px; 
    height: 200px; 
    background: yellowgreen; 
    border: 10px solid pink; 
    outline: 5px dashed purple;
}

CSS Secrets @多重边框 - CSS娃娃 - CSS娃娃的博客

outline好包容,它把border都紧紧怀抱住了!
moreover,还有个outline-offset也比较讨人喜欢呢!

.wrapper{
    margin: 300px auto;
    width: 300px;
    height: 200px;
    background: yellowgreen;
    border: 10px solid pink;
    outline: 5px dashed purple;
    outline-offset: -20px;
}

CSS Secrets @多重边框 - CSS娃娃 - CSS娃娃的博客

只要将outline-offset的值设为负数,它就有可能跑到div.wrapper的里面,LEA姐姐说这是缝边的效果。
But!尽管它跑到了.wrapper的里面,但它多border的爱是不变的,因为这个负值还是从border的最外面开始算起的!真爱啊有木有!

further more,亲们要知道,outline虽然很包容,但它不能因为border-radius的存在而改变自己那么方的实质。outline很方,至少现在很方。但是呢~ box-shadow就可以因为有border-radius的存在而产生一层一层又一层的圆角!看下方!上面是box-shadow的表现,下面是outline的表现(瞧他是有多么固执,但是说不定哪一天,它就弯了,哇哈哈哈哈......)。
CSS Secrets @多重边框 - CSS娃娃 - CSS娃娃的博客
CSS Secrets @多重边框 - CSS娃娃 - CSS娃娃的博客
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容

  • 1.多重边框 我们可以通过使用border-image来写一个多重边框,或使用多个元素来模拟多重边框,不过我们有更...
    FlyingWWS阅读 2,416评论 2 5
  • 在CSS中,要实现同一种效果可能有很多种方式,就比如今天所要讲的多重边框,有人可能会想,那还不简单?要多少边框直接...
    前端王睿阅读 659评论 0 4
  • 如果我们想为一个元素设置边框,很自然的会利用 border 属性,比如说,我想得到如下效果。 非常简单的,我们只需...
    ghwaphon阅读 754评论 0 0
  • 1. box-shadow方案 box-shadow还接受第四个参数,表示扩张半径,可以使用第四个参数来模仿边框。...
    Elevens_regret阅读 232评论 0 0
  • 夫妻俩人起的冲突,90%跟原生家庭和童年经历有关,只有10%和伴侣有关。两人现在所打的仗,大多打的都是过去的糊涂账...
    瑞敏谈成长阅读 143评论 0 0