css技巧之左邊豎條的實現
阿新 • • 發佈:2018-10-31
單標籤,左邊豎條的實現,儘可能多的寫出實現方式(只使用一個標籤,不考慮瀏覽器的相容性)
對於一個單標籤如何合計算上偽元素: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;
}