用純CSS實現的箭頭
用CSS即可繪製出各種箭頭,無需裁剪圖片,甚至沒有用到CSS3的東西。對瀏覽器支援良好。
基本原理
原理非常簡單,通過擷取border(邊框)的部分“拐角”實現,幾行CSS程式碼即可理解:
一個梯形
當元素寬、高和邊框的寬相近(等)時,改變某一邊的顏色可以看到一個梯形;
<div id="demo11"></div> <style> #demo11 { border: 10px solid #000; border-left-color: #f00; width: 10px; height: 10px; } </style>
一個三角形
當元素寬、高為零,且其他邊為透明顏色時,可以形一個三角形。
<div id="demo12"></div> <style> #demo12 { border: 10px solid #000; border-left-color: #f00; width: 0; height: 0; } </style>
任意角度的三角形
改變各個邊的寬度,即通過調整“邊框”厚度可以配置出任意角度
<div id="demo14"></div> <style> #demo14 { border: 10px solid transparent; border-left: 20px solid #f00; width: 0; height: 0px; } </style>
通過偽元素實現
三角形可以通過偽元素繪製出,而無需改變原來的DOM結構
文字內容
<span id="demo15">文字內容</span> <style> #demo15{ position: relative; } #demo15:after { border: 10px solid transparent; border-left: 10px solid #f00; width: 0; height: 0; position: absolute; content: ' ' } </style>
偽元素實現三角線箭頭
通過偽元素繪製出的兩個,一個與背景色相同覆蓋部分紅色箭頭,形成三角線
文字內容
<span id="demo15">文字內容</span> <style> #demo16{ position: relative; } #demo16:after, #demo16:before { border: 10px solid transparent; border-left: 10px solid #fff; width: 0; height: 0; position: absolute; top: 0; right: -20px; content: ' ' } #demo16:before { border-left-color: #f00; right: -21px; } </style>
三角線分割的Tab頁
- 文字內容 Tab1
- 文字內容 Tab2
- 文字內容 Tab3
<ul id="demo17"> <li>文字內容 Tab1</li> <li>文字內容 Tab2</li> <li>文字內容 Tab3</li> </ul> <style> #demo17{ font-size: 10px; height: 24px; } #demo17 li { float: left; position: relative; list-style: none; margin: 0 20px 12px -19px; border-top: solid 1px #ddd; border-bottom: solid 1px #ddd; padding-left: 12px; } #demo17 li:after, #demo17 li:before { border: 10px solid transparent; border-left: 10px solid #fff; width: 0; height: 0; position: absolute; top: 0; right: -18px; content: ' ' } #demo17 li:before { border-left-color: #ddd; right: -19px; } </style>
三角形跟矩形組合成提示框
這裡還有另一種效果,使用三角形跟矩形組合成提示框,程式碼來自這篇文章: Css arrows and shapes without markup
<div id="demo"></div> <style> #demo { width: 100px; height: 100px; background-color: #ccc; position: relative; border: 4px solid #333; } #demo:after, #demo:before { border: solid transparent; content: ' '; height: 0; left: 100%; position: absolute; width: 0; } #demo:after { border-width: 9px; border-left-color: #ccc; top: 15px; } #demo:before { border-width: 14px; border-left-color: #333; top: 10px; } </style>
相關文章
- CSS實現帶箭頭按鈕CSS
- css border實現上下左右箭頭效果CSS
- CSS實現空心三角指示箭頭CSS
- 用純 CSS 實現鏤空效果CSS
- 用純css實現Tab切換CSS
- css3實現底部帶有箭頭的圓角矩形效果CSSS3
- 用純css實現打星星效果(三)CSS
- 純 CSS 實現波浪效果!CSS
- CSS箭頭引導的分佈效果CSS
- 用CSS實現的固定表頭的HTML表格CSSHTML
- mapboxgl實現帶箭頭軌跡線
- css3網頁底部漸隱漸現的箭頭效果CSSS3網頁
- CSS空心箭頭程式碼例項CSS
- css帶有圓角尾巴箭頭CSS
- css帶有空心箭頭矩形效果CSS
- 純 CSS 實現斜紋效果CSS
- 純CSS實現液晶字型效果CSS
- 純CSS實現Tab欄的切換CSS
- 純css實現的擷取字串功能CSS字串
- 7款純CSS3實現的炫酷動畫應用CSSS3動畫
- CSS 三角形箭頭的矩形CSS
- CSS帶有箭頭的對話方塊效果CSS
- 純CSS實現表單驗證CSS
- 純 CSS 實現縷空遮罩層CSS遮罩
- 箭頭→箭頭 matlab畫圖Matlab
- 自定義View實現箭頭沿圓轉動View
- CSS3 帶有箭頭圓角效果CSSS3
- CSS帶有三角小箭頭的矩形效果CSS
- CSS3帶有箭頭旋轉的圓形CSSS3
- 純 CSS 實現像極了愛情CSS
- 純CSS實現瀑布流,你會嗎?CSS
- 純 CSS 實現多行文字截斷CSS
- 純css實現tab選項卡效果CSS
- 純CSS3實現人物跑步動畫CSSS3動畫
- 純css實現長寬等比例的divCSS
- 一個純前端實現的頭像生成網站前端網站
- 有趣的CSS題目(14): 純 CSS 方式實現 CSS 動畫的暫停與播放!CSS動畫
- CSS3 用border寫 空心三角箭頭 (兩種寫法)CSSS3