設置小於寬度的邊框

需求 設置一個小於寬度的邊框

方式1

使用嵌套的兩個元素,在子元素中設置邊框以模仿一個小於寬度的效果

<div style="width: 100px; display: flex; justify-content: center; background: tan">
	<div style="width: 80px; border-bottom: 1px solid black">內容</div>
</div>

方式2 

在僞元素中設置一條‘線’做邊框


        
<body>
<style type="text/css"> .test {
  position: relative;
  //z-index: 2; //如果上級元素中有background需設置
  &::before {
    content: '';
    bottom: 0; left: 0; right: 0;
    width: 50px;
    height: 2px;
    position: absolute;
    z-index: -1;
    background: #888888;
  }
}</style>
<div class='test'>
    test
</div>

</body>

方式3

3種方式中唯一真正實現“小於寬度的邊框” 使用 css 中 border-image設置邊框,下面是使用 linear-gradient 來實現邊框效果

    
//下邊框
    width: 100px;
    background: tan;
    border-image: 0 0 100% 0 linear-gradient(90deg, transparent 4.2vw, #ddd 0, #ddd 95.8vw, transparent 0, transparent 100vw);
    border-bottom: 1px solid transparent;
//上邊框
    width: 100px;
    background: tan;
    border-image: 100% 0 0 linear-gradient(90deg, transparent 10px, rgb(40, 44, 52) 0,                         rgb(40, 44, 52) 90px, transparent 0, transparent 100px);
    border-top: 1px solid transparent;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章