簡體   English   中英

帶箭頭和完整背景顏色的CSS標簽

[英]CSS tabs with arrows and full background color hovers

我得到了以下的標簽欄導航,我只想在CSS中這樣做:

標簽導航欄

在此屏幕上,我將最后一個元素“ Endergebnis”標記為.active:hover

我考慮過將箭頭創建為偽元素,其position: absolute ,盡管大約有多個元素使用transform: rotate(x deg) ,但是在每種解決方案中,我都不知道如何為每個選項卡提供完整的填充背景色。

有人可以給我一個很好的提示嗎?

這是執行此操作的兩個選項:

  1. 您使用CSS創建一個三角形。 在您的示例中,您將需要使2個三角形相互重疊,因為使用CSS創建三角形需要邊框,並且您不能在邊框上添加邊框。 您可以使用以下代碼段:

 .box { background: green; color: white; border: 2px solid black; border-right: 0; display: inline-block; height: 40px; position: relative; } .box + .box { border-left: 0; padding-left: 24px; } .box:after, .box:before { content: ""; width: 0; height: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-left: 20px solid green; position: absolute; right: -20px; top: 0; z-index: 2; } .box:before { border-top: 21px solid transparent; border-bottom: 21px solid transparent; border-left: 21px solid black; top: -1px; right: -21px; } 
 <div class="box">Website</div><div class="box">About Me</div><div class="box">Contact</div> 

  1. 您可以使用以下語句創建常規的二次元並將其旋轉45度。 您需要確保設置了正確的z-index

     transform: rotate(45deg); 

我會選擇第二種方法,因為您更加靈活。


sudipto編輯

在不使用CSS轉換的情況下,您可以執行以下操作:(我使用了透明邊框代替了:before:after偽類。)

 body { background: #eff4f7; padding: 30px; } .breadcrumb-wrap { font-family: sans-serif; font-size: 15.5px; font-weight: bold; color: #64768a; border: 2px solid #d7dade; border-radius: 5px; } .breadcrumb-title { font-size: 22px; padding: 10px 20px; } .breadcrumb { list-style: none; overflow: hidden; padding: 0; margin: 0; border-top: 2px solid #d7dade; } .breadcrumb li { float: left; } .breadcrumb li a { color: #64768a; text-decoration: none; padding: 20px 0px 20px 50px; background: #ffffff; position: relative; display: block; float: left; } .breadcrumb li a:after { content: ""; display: block; width: 0; height: 0; border-top: 50px solid transparent; border-bottom: 50px solid transparent; border-left: 30px solid #ffffff; position: absolute; top: 50%; margin-top: -50px; left: 100%; z-index: 2; } .breadcrumb li a:before { content: ""; display: block; width: 0; height: 0; border-top: 50px solid transparent; border-bottom: 50px solid transparent; border-left: 30px solid #d7dade; position: absolute; top: 50%; margin-top: -50px; margin-left: 2px; left: 100%; z-index: 1; } .breadcrumb li:first-child a { padding-left: 20px; } .breadcrumb li:last-child a { background: #eff4f7; color: #64768a; cursor: default; } .breadcrumb li:last-child a:hover { background: #ffffff; } .breadcrumb li:last-child a:after { border-left-color: #eff4f7; } .breadcrumb li:last-child a:hover:after { border-left-color: #ffffff; } .breadcrumb li a:hover { background: #eef3f6; } .breadcrumb li a:hover:after { border-left-color: #eef3f6; } 
 <div class="breadcrumb-wrap"> <div class="breadcrumb-title">Teams</div> <ul class="breadcrumb"> <li><a href="#">Meldungen</a></li> <li><a href="#">Zulassung</a></li> <li><a href="#">Endergebnis</a></li> </ul> </div> 

您可以使用偽和轉換:

 div { margin: 1em; border-radius: 0.25em; border: solid; } h1 { margin: 0; border-bottom: solid; } ul { margin: 0; ; padding: 0; list-style-type: none; overflow-y: hidden; white-space: nowrap; } li+li { padding: 1em 2em 1em 3em; } li { padding: 1em 2em; position: relative; display: inline-block; vertical-align: top; } li:hover, li:hover+li:before, li.active, li.active+li:before { background: lightblue; } li:hover:before, li.active:before { background: white; } li:last-child:after, li+li:before { content: ''; position: absolute; top: -0.2em; bottom: 0; border-right: solid; border-top: solid; pointer-events: none; box-sizing: border-box; box-shadow: 3px -3px 6px -3px gray;/* a shadow effect can be added too */ width: 3em; transform: rotate(30deg) skewy(30deg); z-index: 1; } li:last-child:after { right: -1.5em; background: inherit; } li+li:before { left: -2em; } 
 <div> <h1>title</h1> <ul> <li> one </li> <li> two </li> <li> three </li> <li> four </li> <li class="active"> Active </li> </ul> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM