I need to make like this. Is it possible with pure css?
Using border-radius, :before and transform: skew(...);
border-radius
:before
transform: skew(...);
body { background-color: #000; margin: 0; padding: 0; font-family: sans-serif; font-size: 16px; } .tab { height: 50px; width: 150px; border-radius: 15px 15px 0px 0px; background-color: #FFF; position: relative; top: 10px; left: 1px; display: inline-block; z-index: 2; } .tab:before { height: 50px; width: 70px; border-radius: 10px 10px 0px 0px; background-color: white; content: ""; position: absolute; left: 104px; top: 0px; -webkit-transform: skewX(40deg); transform: skewX(40deg); z-index: -1; } .tab:nth-of-type(2) { background-color: #555; top: 10px; left: 30px; z-index: 1; color: #EEE; } .tab:nth-of-type(2):before { background-color: #555; } .tab:nth-of-type(2):hover, .tab:nth-of-type(2):hover:before { background-color: #159; transition: 0.3s ease-out; } span { display: inline-block; width: 160px; text-align: center; height: 50px; line-height: 50px; z-index: 3; } #page { background-color: white; height: calc(100vh - 120px); width: calc(100vw - 61px); position: relative; top: 10px; left: 1px; padding: 30px; }
<nav id="tabs"> <div class="tab"> <span>Tab 1</span> </div> <div class="tab"> <span>Tab 2</span> </div> </nav> <div id="page"> Lorem Ipsum dolor sit amet ... </div>
2.1m questions
2.1m answers
60 comments
57.0k users