純CSS實現Tab頁籤樣式

2021-02-25 戲碼臺

目標結果如圖:

實現代碼:

<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>純CSS實現Tab頁籤樣式</title>
<style type="text/css">
body {
padding: 40px;
font: 130%/2 Frutiger LT Std, sans-serif;
}

nav {
position: relative;
z-index: 1;
padding-left: 1em;
}

nav > a {
position: relative;
display: inline-block;
padding: .3em 1em 0;
color: inherit;
text-decoration: none;
margin: 0 -.3em;
}

nav > a::before,
main {
border: .1em solid rgba(0, 0, 0, .4);
}

nav a::before {
content: ''; /* To generate the box */
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
border-bottom: none;
border-radius: .5em .5em 0 0;
background: #ccc linear-gradient(hsla(0, 0%, 100%, .6), hsla(0, 0%, 100%, 0));
box-shadow: 0 .15em white inset;
transform: scale(1.1, 1.3) perspective(.5em) rotateX(5deg);
transform-origin: bottom;
}

nav a.selected {
z-index: 2;
}

nav a.selected::before {
background-color: #eee;
margin-bottom: -.08em;
}

main {
display: block;
margin-bottom: 1em;
background: #eee;
padding: 1em;
border-radius: .15em;
}


</style>
</head>
<body>

<nav>
<a href="#">Home</a>
<a href="#" class="selected">Projects</a>
<a href="#">About</a>
</nav>
<main>
Content area
</main>

</body>
</html>

參考:《CSS揭秘》74頁

相關焦點

  • CSS字體樣式
    字體樣式常用的有五種屬性,看下表。
  • CSS樣式大全
    (微信後臺回復「CSS」,即可獲得關於css設計的幫助文檔哦)字體屬性:(font)大小 {font-size: x-large;}(特大) xx-small;(極小) 一般中文用不到,只要用數值就可以,單位:PX、PD樣式 {font-style: oblique;}(偏斜體) italic;(斜體) normal;(正常)行高
  • css樣式大全
    字體屬性:(font)大小 {font-size: x-large;}(特大) xx-small;(極小) 一般中文用不到,只要用數值就可以,單位:PX、PD樣式Position: absolute; relative; static;visibility: inherit; visible; hidden;overflow: visible; hidden; scroll; auto;clip: rect(12px,auto,12px,auto) (裁切)css
  • 進階:玩轉 CSS 變量
    實現默認配置如果讓我來思考,我肯定無法想像出結合 CSS 預處理器 + CSS 變量便可以實現組件樣式的默認配置。這裡我先介紹兩個關於該功能的前置知識點:事實上,CSS 變量的 var() 函數還可以使用第二個參數,表示變量的默認值。
  • HTML+CSS系列:登錄界面實現
    一.效果 二.具體實現1.index.html<!
  • 【前端-CSS動畫】製作聖誕節彩燈
    css動畫 animationcss動畫 keyframesbox-shadow
  • 第333天:實現消息提示組件
    實現實現消息提示組件,動態全局提示,主要使用原生JavaScript實現,實現的代碼基本都作了注釋。<!DOCTYPE html><html><head> <title>Message</title> <style type="text/css"> @keyframes enter { /* 入場動畫 */ 0% {
  • CSS魔法堂:Box-Shadow沒那麼簡單啦:)
    ,其實它還能用於實現其他好玩的效果的,本篇就打算說說box-shadow的那些事。實現原理(純個人理解):創建一個與元素padding box尺寸一致的陰影盒子;將陰影盒子定位到於元素padding box重合,並位於元素之上;水平和垂直各畫兩條線,分別跟元素padding edge重合;(共4條分別記為left/top/right/bottom-guideline)根據horizontal offset和vertical
  • 用JQ + CSS實現浪漫表白必備
    JQ + CSS實現浪漫表白必備頁面效果圖:
  • 第343天:實現三欄布局
    實現三欄布局三欄布局在開發十分常見,即兩邊固定寬度,中間自適應寬度的布局。
  • 二籤申請材料及重要變更
    已經親測過,二籤順利下簽了,從此再也不怕遇到不肯籤名的壞僱主也不怕關係弄僵了!申請所需資料1.護照個人信息頁2.護照照片3.工資單 (逐張上傳,文件名寫清楚時間)4.銀行存款 (直接在手機銀行或者網銀下載balance即可)第一次提交申請時只提供了這四個資料,全部拍照上傳即可。
  • 二籤申請資料及重要變更
    已經親測過,二籤順利下簽了,從此再也不怕遇到不肯籤名的壞僱主也不怕關係弄僵了!申請所需資料1.護照個人信息頁2.護照照片3.工資單 (逐張上傳,文件名寫清楚時間)4.銀行存款 (直接在手機銀行或者網銀下載balance即可)第一次提交申請時只提供了這四個資料,全部拍照上傳即可。
  • 公司的一個面試題:如何用CSS讓一個容器水平垂直居中?
    DOCTYPE html>   <html>      <head>          <meta charset="UTF-8">          <title>demo</title>      </head>      <body>          <style type="text/css
  • 面試官:說說你對SPA(單頁應用)的理解?
    一、什麼是SPASPA(single-page application),翻譯過來就是單頁應用SPA是一種網絡應用程式或網站的模型,它通過動態重寫當前頁面來與用戶交互,這種方法避免了頁面之間切換打斷用戶體驗在單頁應用中,所有必要的代碼
  • 敲黑板:手把手教你 vue-cli 單頁到多頁應用
    前言我有一個cli創建的vue項目,但是我想做成多頁應用,怎麼辦,廢話不多說,直接開擼~約定:新增代碼部分在//add和//end
  • css動畫 | 實現炫酷的旋轉動畫
    DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> body,html{ margin: 0; padding: 0; height
  • 2月第7題:為什麼要初始化 CSS 樣式?
    當然,初始化樣式會對 SEO 有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況 下初始化。 最簡單的初始化方法:*{padding:0;margin:0;}(強烈不建議) 淘寶的樣式初始化代碼:body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend ,button,input,textarea,th,td{
  • CSS Grid 網格布局:「16」使用 place-content 屬性指定網格元素水平、垂直方向元素分布方式
    語法如下所示:<style type="text/css">.container { place-content: <align-content> <justify-content>?
  • JQ實現彈幕效果
    JQ實現彈幕效果,快來吐糟你的想法吧