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

效果如下

css效果之边框内圆角

你可能想到的方法

padding: 16px;
box-shadow: 0 0 0 8px #655;
border-radius: 5px;

如果采用上面的方式,会产生一个与上面效果很像的效果:内外都是圆角。下过如下

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>
<div class="container">
  <span class="section">
    Suspendisse et arcu felis, ac gravida turpis. 
    Suspendisse potenti. Ut porta rhoncus ligula,
    sed fringilla felis feugiat eget.
  </span>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
 

标签:
css,边框内圆角

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com

评论“css效果之边框内圆角”

暂无“css效果之边框内圆角”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。