您的位置:首页 > Web前端 > > 正文

css圆角边框设置教程(css效果之边框内圆角)

更多 时间:2022-04-04 13:04:46 类别:Web前端 浏览量:1077

css圆角边框设置教程

css效果之边框内圆角

本文主要介绍了css效果之边框内圆角,分享给大家,也给自己留个笔记,具体如下:

效果如下

css圆角边框设置教程(css效果之边框内圆角)

你可能想到的方法

  • padding: 16px;
    box-shadow: 0 0 0 8px #655;
    border-radius: 5px;
    
  • 如果采用上面的方式,会产生一个与上面效果很像的效果:内外都是圆角。下过如下

    css圆角边框设置教程(css效果之边框内圆角) 

    如何将外面的那层shadow变为直角呢?

    其关键就是outline和box-shadow属性:元素的圆角无法规定描边的方式

    那么你可能会想到这样的实现方式

  • padding: 16px;
    outline: 8px solid #655
    border-radius: 5px;
    
  • 然后当你满怀自信去查看效果时发现,居然又不是你想要的效果,你会发现内外之间会有一小点空白。

    那怎么办,是不是bug?虽然元素的圆角无法规定描边的角的样式,但可以规定box-shadow的角的样式,于是解决方式诞生了:让box-shadow与outline重合,outline将box-shadow的圆角填充成直角,box-shadow填充outline与内层之间的空白

  • padding: 16px;
    box-shadow: 0 0 0 8px #655;
    border-radius: 5px;
    outline: 8px solid #655;
    
  • 这时再去刷新浏览器就会发现会是我们想要的效果了

    附一个完整的例子

  • <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>css learning</title>
      <style>
        .section {
          display: inline-block;
          width: 200px;
          background: gray;
          padding: 16px;
          box-shadow: 0 0 0 8px #655;
          border-radius: 5px;
          outline: 8px solid #655;
        }
      </style>
    </head>
    <body>
    <li class="container">
      <span class="section">
        Suspendisse et arcu felis, ac gravida turpis. 
        Suspendisse potenti. Ut porta rhoncus ligula,
        sed fringilla felis feugiat eget.
      </span>
    </li>
    </body>
    </html>
    
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。