1. 程式人生 > >css技巧之左邊豎條的實現

css技巧之左邊豎條的實現

單標籤,左邊豎條的實現,儘可能多的寫出實現方式(只使用一個標籤,不考慮瀏覽器的相容性)

對於一個單標籤如何合計算上偽元素:before和:after的話,應該算是有三個標籤的:

那麼對於下圖的效果,單標籤如何實現呢?

<div class="vertical_line"></div>

1、使用border-left實現:

.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      border-left: 5px solid red;
    }

2:使用偽類:before或者:after來實現:

.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      position: relative;
    }

    .vertical_line::before {
      position: absolute;
      top: 0;
      bottom: 0;
      content: '';
      width: 5px;
      height: 60px;
      background-color: red;
    }

3、使用box-shadow:盒陰影的外陰影或者內陰影:

.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      box-shadow:-5px 0px 0 0 red;
    }
.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      box-shadow:inset 5px 0px 0 0 red;
    }

 

4、使用drop-shadow:

.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      filter:drop-shadow(-5px 0 0 red);
    }

5、使用漸變:

.vertical_line {
      width: 200px;
      height: 60px;
      background-color: #ddd;
      background-image: linear-gradient(90deg, red 0px, red 5px, transparent 5px);
    }

 

5、使用outline:調節微元素中的top,bottom,right 和left,可以實現效果,但是並不理想;

.vertical_line {
      height: 50px;
      outline: 5px solid red;
    }

    .vertical_line::after {
      position: absolute;
      content: '';
      top: -5px;
      bottom: -5px;
      right: -5px;
      left: 0;
      background: #ddd;
    }

6、使用滾動條的樣式:

.vertical_line {
      width: 205px;
      background: red;
      overflow-y: scroll;
    }

    .vertical_line::-webkit-scrollbar {
      width: 200px;
      background: #ddd;
    }