整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS三角的寫法(兼容IE6)

          CSS三角的寫法(兼容IE6)
          • 1. 先創建一個div
          • 2. 然后給div設定邊框。
          • 3. 給div的四個邊框都設置不同的顏色
          • 4. 把寬度和高度都變成0
          • 5. 其余角為透明
          • 6. 兼容IE6瀏覽器
          • 造成這樣的原因是:
          • 最簡單的解決辦法:(后面添加)
          • 其他的解決辦法:
          • 7. 解決內聯元素的三角顯示問題
          • 為什么會有這個問題
          • 解決辦法
          • 1. 去掉固定的內容高度
          • 2. 將內聯元素轉化為塊級元素或者行內塊元素
          • 3. 將元素脫標(如果涉及特殊的布局可以直接使用)
          • 最終代碼
          • 擴展
          • 有角度的三角
          • 有一個角是直角的三角
          • 箭頭
          • 對話框
          • 兼容IE8的小圓角矩形
          • 利用css3旋轉來制作三角形

          簡介

          三角的做法有好幾種:

          • 圖片、精靈圖(網易)
          • 字體圖標(京東)
          • 純代碼寫(亞馬遜)

          這里主要介紹的純代碼寫的。

          優點

          1. 代碼寫的三角,不管大小是多少,是不失真的。
          2. 代碼運行比圖片更快。
          3. 如果項目中沒有引用字體圖標,代碼寫是比較可靠的。

          原理

          原理就是使用css的盒模型中的border屬性

          使用border屬性就可以實現一個兼容性很好的三角圖形效果,其底層受到border-style的inseet/outset影響,邊框3D效果在互聯網早期還是很流行的,。

          1. 先創建一個div

          <div></div>
          

          2. 然后給div設定邊框。

          div{
           width:200px;
           height:100px;
           border:10px solid red; 
          }
          

          可以看到效果:

          3. 給div的四個邊框都設置不同的顏色

          div{
           width:200px;
           height:100px;
           border-left:10px solid red;
           border-top:10px solid green; 
           border-right:10px solid blue; 
           border-bottom:10px solid yellow; 
          }
          

          可以看到以下效果:

          可以看到兩個border交叉的地方,有斜邊存在。

          4. 把寬度和高度都變成0

          div{
           width:0px;
           height:0px;
           border-left:10px solid red;
           border-top:10px solid green; 
           border-right:10px solid blue; 
           border-bottom:10px solid yellow; 
          }
          /*也可以這么寫*/
          div{
           width:0px; 
           height:0px;
           border:10px solid; 
           border-color:red green blue yellow;
          }
          

          可以看到以下效果:

          這個時候就看得很明顯了,出現了四個三角。那如果要出現一個,那么就將其他的三個弄成透明色就可以了。

          這個就是三角形的由來。

          5. 其余角為透明

          這里的設置也遵循 上右下左 的順序,把不需要的角弄成透明色。

          div{
           width:0px; 
           height:0px;
           border-width:10px; 
           border-color:#f00 transparent transparent transparent;
           border-style:solid;
          }
          /*也可以再進行合并*/
          div{
           width:0px; 
           height:0px;
           border:10px solid; 
           border-color:#f00 transparent transparent transparent;
          }
          

          這樣一個三角就完成了。 那么問題來了,那就是兼容問題,IE6的兼容問題,如果不要求兼容IE6可以忽略下一步。

          6. 兼容IE6瀏覽器

          同樣的一個三角,在IE6的顯示是什么呢?

          造成這樣的原因是:

          • IE6不支持border的transparent
          • IE6的高度最小為19px,不支持高度為0

          在IE6下面,如果想把元素例如div設置成19像素以下的高度就設置不了了。這是因為IE6瀏覽器里面有個默認的高度,IE6下這個問題是因為默認的行高造成的。

          最簡單的解決辦法:(后面添加)

          div{
           /*不支持transparent*/
           border-style:solid dashed dashed dashed;
           /*高度最小不為0*/
           overflow:hidden;
          }
          
          1. 查了查網上的,如果是IE6不支持transparent, 可以這么做:
          div{
           border:solid 1px transparent; 
           _border-color:tomato; 
           _filter:chroma(color=tomato); 
          }
          

          所以我覺得用在這里也可以, BUT沒有親測過,如果哪位小可愛測過可以請告知我^ ^。

          div{
           width:0px;
           height:0px;
           margin:100px auto;
           border-width:10px;
           border-style:solid;
           border-color:#f00 transparent transparent transparent;
           _border-color:#f00 tomato tomato tomato; 
           _filter:chroma(color=tomato);
          }
          
          1. 如果是解決IE6的高度問題(也可以前面加下劃線,表示兼容的IE6)
          div{
           height:0;
           font-size:0;
           line-height:0;
           overflow:hidden;
          }
          

          7. 解決內聯元素的三角顯示問題

          為什么會有這個問題

          因為我們剛才用 <div> 去制作三角,當然我們經常會使用 <em><i> 或者偽元素去做一些小圖標。那么在顯示上面,可能會有問題。 下面的代碼:

          <style>
          em{
          	width: 0;
          	height: 0;
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid;
          }
          </style>
          <em></em>
          

          可以看到頁面是這個樣子的:

          為什么是這個樣子的,那么我們再看的仔細一點。 它實際是這個樣子的。

          造成這樣的原因

          1. 是因為行內元素自己有固定的高度,不能設置寬高為0,所以上面下面都是50px沒有問題,但是中間撐開了距離,也就有了梯形的效果。
          2. 而且如果上面沒有塊元素的時候,是從內聯元素的內容開始算起的,所以上面的border就會到瀏覽器可視區域的上面。

          解決辦法

          這個有很多的辦法:

          1. 去掉固定的內容高度

          使用font-size:0;可以去掉內容的固定高度。

          em{
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid;
          	font-size: 0;
          }
          

          2. 將內聯元素轉化為塊級元素或者行內塊元素

          em{
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid;
          	display: block; /*也可以是inline-block*/
          }
          

          3. 將元素脫標(如果涉及特殊的布局可以直接使用)

          /*脫標*/
          em{
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid;
          	position: absolute;
          	top:0;
          	left:0;
          }
          /*or 浮動*/
          em{
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid;
          	float:left;
          }
          

          最終代碼

          下面就是兼容了IE6版本的三角代碼。

          div{
           width:0px; /*設置寬高為0*/
           height:0px;/*可不寫*/
           border-width:10px; /*數值控制三角的大小,垂直的位置*/
           border-color:#f00 transparent transparent transparent;/*上右下左,transparent是透明的*/
           border-style:solid dashed dashed dashed;/*設置邊框樣式,dashed是兼容IE6寫的*/
           overflow:hidden;/*兼容IE6最小高度不為0寫的*/
          }
          

          改變border-width,三角變大,是不失真的。很清晰。

          ==三角制作完成 。==

          擴展

          有角度的三角

          上面制作的都是45度的三角,三角可以通過border的高度寬度確定角度。

          比如這樣一個三角,只需要確定上下的和左右的寬度不一樣即可。

          div{
          	width: 0px;
          	height: 0px;
          	margin: 100px auto;
          	border-width:10px 30px;
          	border-color:transparent transparent transparent red;
          	border-style:solid;
          }
          

          有一個角是直角的三角

          觀察可以看到,是上面和右面的三角同時設置成一個顏色。就會出現直角的三角。

          div{
          	width: 0;
          	border-width: 20px 10px;
          	border-style: solid;
          	border-color: red red transparent transparent;
          }
          

          箭頭

          其實原理也簡單,就是兩個三角重疊在一起。上面的三角就是背景的顏色

          <style type="text/css">
          .san {
          	border-width: 50px;
          	border-color: transparent transparent transparent #f40;
          	border-style: solid; 
          	position: relative;
          	}
          .si {
          	border-width: 30px;
          	border-color: transparent transparent transparent #fff;
          	border-style: solid; 
          	position: absolute;
          	left: -50px;
          	top: -30px;
          }
          </style>
          <!--html結構-->
          <div class="san">
          	<div class="si"></div>
          </div>
          

          對話框

          這個使用偽元素去做就很方便。

          TML 5 是最新的超文本標記語言 (HTML),它是用于描述網頁內容和外觀的標準編程語言。如今,所有主要瀏覽器(Chrome、Safari、FirefoxOpera IE)都提供 HTML5 支持,這使其成為當今使用的最新 HTML 技術。

          下面列出了 HTML5 的一些驚人優勢:

          1. 跨瀏覽器兼容性

          HTML5 易于實現,并且可以與 CSS3 一起使用。今天所有的瀏覽器都支持 HTML5 標簽,甚至 IE6 也能理解標記 <!doctype html> 并且會正確地呈現頁面。

          2. 新的 DOCTYPE 聲明:

          關于 HTML 5 最重要的事實是 - HTML5 易于實現并且可以與 CSS3 一起使用

          HTML5 DOCTYPE 聲明非常簡單:

          <! DOCTYPE html>

          是的,只有DOCTYPE”和“html”這兩個詞,不再有長行充滿臟標簽的不可讀代碼。

          3. 帶來可用性和用戶體驗的改進

          可用性和用戶體驗與網站或應用程序的設計程度有關。我們都想要更好的動態網站和美觀的應用程序與用戶交互并允許用戶享受功能、內容等,而不僅僅是看它。HTML5 Web 具有多項技術增強和改進功能,并且使用 HTML5 代碼,Web 開發人員可以輕松設計更好的應用程序和動態網站,從而帶來更好的用戶體驗和可用性。

          4. 替代 Flash Silver light

          HTML5超越FlashSilver light而領先只是因為播放Flash文件和Silver light需要安裝Adobe Flash最新版本或Silver light插件,還需要注意設備和操作系統的兼容性. HTML 5 并非如此。因此,HTML5 如今在公司中變得越來越流行,因為它提供了大量的屬性和功能,可幫助 Web 開發人員以最少的工作量構建漂亮的網站和應用程序。


          5. 大量用于移動應用和游戲

          HTML5 在移動應用程序和游戲開發中的適應性隨著 HTML5 Web 應用程序工具在從用戶界面 (UI)、開發、使用腳本等開始的所有情況下為 Web 開發人員提供了更大的靈活性而增加。

          HTML5 還能夠處理多媒體內容,而無需安裝插件,我們可以使用該技術輕松開發交互式游戲。

          6. 干凈的標記和改進的代碼

          HTML5 帶有簡潔的標記和簡潔的代碼,使其比以前的版本更易于訪問。HTML 5 允許 Web 開發人員和 Web 設計人員使用更簡潔的代碼并刪除 div 標簽并將所有 div 標簽替換為新的 HTML 5 元素。

          7. 離線瀏覽

          HTML5 還提供離線瀏覽功能,這意味著訪問者可以在沒有有效互聯網連接的情況下加載網頁上的某些元素。假設你訪問了該站點,但不知何故你現在沒有連接到互聯網,或者互聯網連接發生故障。使用 HTML5 離線緩存,我們仍然可以加載網站的核心元素,你可以離線查看它們。

          8. HTML5 在網站抓取和索引方面對 SEO 友好:

          如今,為了在包括谷歌在內的不同搜索引擎中獲得并保持最高排名,必須小心優化網站和所有必要的 SEO 模塊。HTML 5 帶有各種屬性和模塊,使網絡爬蟲可以輕松搜索你的內容并使其正確編入索引,從而提高其在搜索引擎搜索結果頁面中的排名。HTML5 的技術提供了具有廣泛結構元素、語義、表單類型、新屬性和媒體元素的各種功能,使數字營銷專家和開發人員更容易專注于更好的搜索引擎優化技術并推動更多的自然搜索流量。


          9. 視頻和音頻支持

          借助 HTML5 技術,我們不再需要依賴第三方插件來渲染音頻和視頻。你可以忘記 Flash Player 和其他第三方媒體播放器和插件。你可以使用新的 HTML5 <video> <audio> 標簽輕松訪問你的視頻和音頻。

          以前你必須使用舊的 <embed> <object> 標簽并分配大量參數,以顯示視頻可見并正常工作。但是使用 HTML5 的視頻和音頻標簽,我們可以將它們視為圖像; <video src=url/>

          我們只需要像任何其他 HTML 元素一樣在單行標簽中定義高度、寬度和自動播放等參數:<video src=url width=800px height=500pxautoplay/>。

          10. 地理位置支持

          在地理定位的幫助下,我們可以輕松地找出我們在世界上的位置,并輕松地與人們分享這些信息。過去,如果我們想首先檢測客戶端設備的位置,我們必須查看客戶端 IP 地址、你的無線網絡連接、手機的基站和緯度和經度。但是對于 HTML5,已經開發了一組 API,它們可以有效地允許客戶端設備(即你的手機、IP 甚至你的桌面瀏覽器)使用你的 HTML5 兼容瀏覽器直接可用的 JavaScript 檢索地理定位信息。

          HTML5 改進并增強了瀏覽體驗。那么為什么不為你的網站和移動應用程序采用 HTML 5 呢?


          了解更多

          1. 搞清瀏覽器作用
          2. 搞清什么是HTML
          3. html作用
          4. html我們涉及哪些基礎知識
          5. 常見html單詞及單詞功能作用有哪些
          6. html結構
          7. html與CSS關系
          8. 1、搞清瀏覽器作用

          瀏覽器主要作用是瀏覽網頁作用,在DIV+CSS制作開發時候仍然是瀏覽我們制作開發重構網頁作用。瀏覽器可測試我們開發的CSS網頁兼容性、網頁效果、因開發疏忽導致錯誤等作用。

          在CSS測試(CSS工具)里常用瀏覽器包括IE6、IE7、IE8、火狐(FF)、谷歌(chrome)、蘋果Safari、Opera主流瀏覽器。至于傲游、360瀏覽器因為他們使用你系統自帶的IE內核,所以不必考慮,只要支持你瀏覽器版本即支持類似這2款瀏覽器

          2、搞清什么是HTML

          html是hypertext markup language的縮寫,即超文本標記語言。可以這樣理解,HTML文件是一定規則規律以html\htm等命名后綴名的文本文件。

          3、html作用

          HTML作用,通過一定html自身語法結構(html結構),顯示文字、圖片、動畫(flash)、視頻或音頻音樂。而CSS則是配合html實現漂亮的各式各樣的頁面內容。

          4、html我們涉及哪些基礎知識

          Html擴展名、html源代碼、DOCTYPE、html結構、head標簽、charset

          5、常見html單詞及單詞功能作用有哪些

          a、B(strong):加粗

          b、P:換行實例:<p>我是第一段內容</p><p>我是第二段內容</p>

          c、Br:提行實例:我是第一排<br />我是第二排內容

          d、px:像素、長度寬度單位

          實例:width:30px; 寬度30像素

          e、ul、ol、li列表標簽實例:

          <ul> <li>列表一</li> <li>列表二</li> <li>列表三</li> </ul> <ol> <li>列表一</li> <li>列表二</li> <li>列表三</li> </ol>

          f、div與span:都是html標簽

          實例:<div>我占一行</div><span>我多長占多長位置</span>

          兩者區別:DIV占用1整排,而SPAN所占位置是內容多少占用多長長度

          g、img:圖片引用標簽

          <img src="/css-images/css-logo.gif" />圖片標簽

          h、dl dt dd:CSS的另類表格組合

          實例:

          <dl>

          <dt>我是標題</dt>

          <dd>列表一</dd>

          <dd>列表二</dd>

          </dl>

          j、title:標題標簽

          實例:<title>標題</title>

          特點,在一個網頁內只能使用一次(只能出現一次)

          6、html結構 - TOP

          這里Html結構可用于每次新建制作網頁模板使用。

          舊html結構:

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

          <html xmlns="http://www.w3.org/1999/xhtml">

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

          <title>DIVCSS5標題</title>

          </head>

          <body>

          具體網頁呈現內容

          </body>

          </html>

          經過CSS教程網的DIVCSS5優化后的HTML結構(可用于每次新建HTML模板):

          <!DOCTYPE html>

          <html>

          <title>標題</title>

          <meta name="keywords" content="關鍵字" />

          <meta name="description" content="網頁描述" />

          <link href="這里CSS文件引入地址" rel="stylesheet" type="text/css" />

          內容www.divcss5.com提供

          7、html與CSS關系 - TOP

          搞清楚html與CSS關系很重要,也是認識CSS基礎。html與CSS關系解釋:HTML內放置顯示網頁要顯示的具體內容(圖片、文字、動畫等)而CSS是控制HTML內這些具體內容的怎么顯示、怎么排版、顏色、大小、寬度、高度、左右布局等顯示樣式。

          以上7點是學習CSS的html基礎,可能還不完善,但是在以后運用的時候DIVCSS5會給大家詳細、本簡單CSS教程分為15節,此節DIV CSS教程以文字內容為主,以后會穿插更多實例和圖例、跟我做的內容希望對大家能有幫助。


          主站蜘蛛池模板: 亚洲国产日韩一区高清在线| 人妻av综合天堂一区| 亚洲va乱码一区二区三区| 高清一区二区三区免费视频| 精品一区二区久久| 亚洲国产福利精品一区二区| 无码成人一区二区| 精品久久久久久无码中文字幕一区| 免费高清在线影片一区| 国产成人精品久久一区二区三区| 精品国产a∨无码一区二区三区| 在线观看一区二区三区av| 美女视频一区二区| 人妻无码一区二区不卡无码av| 日本国产一区二区三区在线观看| 日本一区二区三区精品国产 | 亚洲中文字幕无码一区二区三区 | 成人毛片无码一区二区| 久久精品国产一区二区| 国产美女一区二区三区| 精品成人av一区二区三区| 亚洲精品色播一区二区| 久久国产精品最新一区| 午夜视频久久久久一区| 国产精品一区二区久久精品无码| 日韩欧美一区二区三区免费观看| 精品国产一区二区二三区在线观看| 亚洲欧洲日韩国产一区二区三区| 少妇无码一区二区二三区| 69久久精品无码一区二区| 国内精品一区二区三区最新| 亚洲第一区在线观看| 内射少妇一区27P| 国产在线一区二区三区| 精品免费久久久久国产一区| 伊人无码精品久久一区二区| 夜夜嗨AV一区二区三区| 国产成人精品a视频一区| 一区二区三区免费电影| 人成精品视频三区二区一区| 一区二区国产精品|