css魔法——左边竖条的实现方法

问题描述:在只使用一个标签的状况下实现左边竖线

图片描述

通用标签与样式以下:
html:css

<div class="div1">实现左边竖线</div>

css:html

.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兼容性问题,其余浏览器没遇到。spa

/* 内阴影 */
    .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下显示效果
图片描述code

方法四:drop-shadow

CSS3 新增滤镜 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或者滚动条的形式来实现,可是这两种的体验效果或者兼容性都不是太好,不推荐使用。htm

相关文章
相关标签/搜索