请问这个CSS效果如何实现

WX20200226-214354@2x.png

数字0后面有块背景,背景的宽度根据数字的宽度自适应,左右多出的宽度是28px,求大佬指点

阅读 2.5k
3 个回答
.number {
    background: linear-gradient(transparent 60%, #e9f9ff 60%);
    padding: 0 28px;
}

或者可以拿张纯色图片作为背景。。

后端来凑数。
Chrome没问题,其他的不能保证。
image.png

<!DOCTYPE html\>  
<html lang\="en"\>  
<head>  
 <meta charset\="UTF-8"\>  
 <title>Title</title>  
 <style> 
    #num {  
      font-size: 4em;  
      width: fit-content;  
      margin: 0 auto;  
    }  

    #num-bg {  
      height: 0.5em;  
      background-color: #4078c0;  
      position: relative;  
      bottom: 0.6em;  
      margin-left: -0.2em;  
      margin-right: -0.2em;  
      z-index: -1;  
    }
 </style>  
</head>  
<body>  
  <div>  
    <div id\="num"\>  
      42356123  
      <div id\="num-bg"\></div>  
    </div>
 </div>  
</body>  
</html>

其实挺简单的:https://codepen.io/meathill/p...

核心:

  1. 让数字的父容器自适应内容(我的例子给上一级 display:flex
  2. 背景可以用渐变,也可以用伪元素
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题