问题描述:在只使用一个标签的情况下实现左边竖线通用标签与样式如下:html:<div class=“div1”>实现左边竖线</div>css: .div1 { width: 200px; height: 50px; line-height:50px; text-align: center; background: #ccc; position: relative; }方法一:使用border.div1 { border-left: 5px solid red;}方法二:使用伪元素来实现每个标签都会有before及after两个伪元素,并且我们也经常用这类标签做一些Icon之类的小图标。这里我们使用伪元素,也会很容易来实现想要的效果。 .div1::before { content: “”; width: 5px; height:50px; position: absolute; top: 0; left: 0; background: red; }方法三:内/外阴影使用内阴影或者外阴影也能实现此效果,不过在有些Chrome(比如:Chrome/70.0)版本上会底部1px兼容性问题,其他浏览器没遇到。 /* 内阴影 / .div1{ box-shadow:inset 5px 0px 0 0 red; } / 外阴影 有些Chrome(比如:Chrome/70.0)版本上会底部1px兼容性问题,显示效果如下图*/ .div1{ box-shadow:-5px 0px 0 0 red; }在Chrome/70.0下显示效果方法四:drop-shadowCSS3 新增滤镜 filter 中的其中一个滤镜drop-shadow,也可以生成阴影。.div1{ filter:drop-shadow(-5px 0 0 red); }方法五:渐变 linearGradient .div1 { background-image: linear-gradient(90deg, red 0px, red 5px, transparent 5px); }此外还可以用outline或者滚动条的形式来实现,但是这两种的体验效果或者兼容性都不是太好,不推荐使用。