美文网首页
@多重边框

@多重边框

作者: Yuxin_Liu | 来源:发表于2017-02-12 19:45 被阅读0次

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

很显然,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娃娃的博客

相关文章

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

    1.多重边框 我们可以通过使用border-image来写一个多重边框,或使用多个元素来模拟多重边框,不过我们有更...

  • 《css-secrets》-demo:多重边框

    《css-secrets》 多重边框 关键字:边框;box-shadow;outline 需求描述 实现如下多重边...

  • 多重边框

    box-shadow的基本用法box-shadow 属性向框添加一个或多个阴影。box-shadow: h-sha...

  • @多重边框

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

  • 多重边框

    一个box的边框除了用border外,还可以用box-shadow来实现 box-shadow:x偏移量,y偏移量...

  • 多重边框

    box-shadow 方案 我们大多数人可能已经用过(或滥用过)box-shadow 来生成投影。不太为人所知的是...

  • 内凹圆实战(border,box-shadow,outline)

    border,box-shadow,outline 上述内容的代码 多重边框 实际工作中可能会有需要多重边框的场景...

  • css 中多种边框的实现小窍门

    一、多重边框[1] 背景知识:box-shadow,outline鉴于使用场景的多元化,多重边框的设计越来越多,以...

  • css揭秘 - 多重边框 + 边框内圆角

    多重边框 随着多重背景的兴起,多重边框在平时开发中使用的频率也越来越高了,我们肯定是希望在一个元素的基础上通过cs...

  • 【CSS】多重边框

    要设置多重边框,最要用到的是box-shadow这个样式。 box-shadow 的作用是添加投影。 如果要设置多...

网友评论

      本文标题: @多重边框

      本文链接:https://www.haomeiwen.com/subject/dggaittx.html