人生如逆旅,我亦是行人

css边框内圆角

要实现上面的效果图,即内侧有圆角。代码如下

         <div class="s"><div></div></div>
    
         .s{
             background: #655;
        padding: 10px; width: 200px; } .s>div{ padding: 10px; border-radius: 10px;height: 20px; background: tan; }

用二个div元素可以实现。

另一种方案

只用一个元素

<div</div>
     
         div{
             background: tan;
             padding: 1em;
             border-radius: 0.8em;
             padding: 1em;
             box-shadow: 0 0 0 .6em #655;
             outline: 0.6em solid #655;
         }
          

效果同上。

 

解释:描边outline不会跟着圆角border-radius走,但是box-shadow会,它会填补描边跟圆角之间的空白。

那么这个box-shadow扩张值多大合适呢?才能填补之间的空隙呢?

直接取圆角值的一半就好,0.8em的一半。最小为圆角的半径r*(根号二减一)。同时要比outline描边小。

 

 

!!!此文上面所有问题都是在描边不跟着圆角走的前提下。

 

posted @ 2017-03-26 15:01  不忘初心8090  阅读(400)  评论(0编辑  收藏  举报

--------扬在脸上的自信、长在心里的善良、融进血液的骨气、刻在生命里的坚强! ——