欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

border-radius以外的CSS圓角邊框制作方法

theqwang'blog   發(fā)布時間:2016-06-02 11:25:57   作者:theqwang   我要評論
用CSS3的border-radius屬性來制作圓角邊框相當(dāng)順手,然而瀏覽器的兼容問題并不是太好處理,這里我們就來總結(jié)一下border-radius以外的CSS圓角邊框制作方法.

CSS3的border-radius
利用DIV+CSS生成圓角邊框,在很多情況下都會用到,目前DIV+CSS的圓角邊框,一種是利用CSS3,一種是利用布局模擬出圓角。
先說第一種,利用CSS3,前提是您的瀏覽器必須支持CSS3,F(xiàn)irefox3是支持的,我看到的很多網(wǎng)站圓角也是利用CSS3直接生成的,無非就是ie下依然顯示直角而已,讓ie固執(zhí)去吧。

利用CSS3,你可以指定4個角都是圓角,或者某一個角是圓角非常方便,代碼如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. #round {     
  2.     background-color#000;     
  3.     border1px solid #000;     
  4.     -moz-border-radius: 10px;     
  5.     -webkit-border-radius: 10px;     
  6.     color:#fff;     
  7. }     
  8.      
  9. #indie {     
  10.     background-color#000;     
  11.     border1px solid #000;     
  12.     -moz-border-radius-topright: 10px;     
  13.     -moz-border-radius-bottomright: 10px;     
  14.     -webkit-border-top-left-radius: 10px;     
  15.     -webkit-border-bottom-left-radius: 10px;     
  16.     color:#fff;     
  17. }     


<div id="round"><h1>圓角邊框</h1></div> 
<div id="indie"><h1>部分圓角</h1></div> 
 

不使用 border-radius 實現(xiàn)圓角
CSS3中,利用屬性 border-radius 可以很方便的設(shè)置出圓角矩形,但是在IE8及以下版本卻不支持這個屬性,為了在舊版本的瀏覽器中實現(xiàn)寬高自適應(yīng)的圓角矩形,可以采用以下三種方法。

1.使用背景圖片制作圓角

使用背景圖片制作寬、高自適應(yīng)的圓角矩形,首先需要切出4個圓角圖片,然后把4個圓角圖片放在矩形的四個角上就大功告成了,這一共需要5個div標(biāo)簽,1個容器div和4個圓角背景div。是不是很好理解。

具體實現(xiàn)來說,需要注意一些細(xì)節(jié)。對于矩形容器div:

上下內(nèi)邊距的大小至少設(shè)置為圓角的高度。
position設(shè)置為相對定位。
放置內(nèi)容。
對于4個圓角背景div:

分別設(shè)置各個圓角背景圖片。
絕對定位于容器矩形的四個角。
需要設(shè)置寬高值才能顯示背景圖片。
假設(shè)圓角圖片的寬高是5px,具體代碼如下:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="content">  
  2.     <div class="top-left"></div>  
  3.     <div class="top-right"></div>  
  4.     <div class="btm-left"></div>  
  5.  <div class="btm-right"></div>  
  6. </div>  
CSS Code復(fù)制內(nèi)容到剪貼板
  1. .content {   
  2.  positionrelative;   
  3.  padding5px;   
  4. }   
  5. .top-left,   
  6. .top-rightright,   
  7. .btm-left,   
  8. .btm-rightright {   
  9.  positionabsolute;   
  10.  width5px;   
  11.  height5px;   
  12. }   
  13. .top-left {   
  14.  top: 0;   
  15.  left: 0;   
  16.  backgroundurl(imgs/top-left.png) no-repeat top left;   
  17. }   
  18. .top-rightright {   
  19.  top: 0;   
  20.  rightright: 0;   
  21.  backgroundurl(imgs/top-rightright.png) no-repeat top left;   
  22. }   
  23. .btm-left {   
  24.  bottombottom: 0;   
  25.  left: 0;   
  26.  backgroundurl(imgs/btm-left.png) no-repeat top left;   
  27. }   
  28. .btm-rightright {   
  29.  bottombottom: 0;   
  30.  rightright: 0;   
  31.  backgroundurl(imgs/btm-rightright.png) no-repeat top left;   
  32. }  

2.純 CSS+div 制作圓角矩形

這種方法的原理是利用像素點繪制弧線來模擬圓角。簡單起見,這里我用圓角半徑為3px的例子講解,其中圓角矩形的背景色為粉色,矩形的邊框為黑色。左上角圓角放大后如下圖所示:
201662112624491.png (167×78)

這里矩形上下各需要3個高度為1px、垂直羅在一起的div才能模擬出圓角。具體實現(xiàn)如下:

第一個div就是上面圖中矩形的黑色上邊框,因為模擬的圓角半徑為3px,所以該div的左右外邊距設(shè)為3px,背景色設(shè)為黑色。
第二個div的左右外邊距設(shè)為2px,左右邊框為1px的黑線,背景色為粉色。
第三個div的左右外邊距設(shè)為1px,左右邊框為1px的黑線,背景色為粉色。
圓角矩形下面的兩個圓角是以上三個div反序排列。
矩形內(nèi)容區(qū)域的div只需要設(shè)置左右邊框和背景色即可。
具體代碼如下

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="wrapper">  
  2.     <div class="r1"></div>  
  3.  <div class="r2"></div>  
  4.  <div class="r3"></div>  
  5.  <div class="content">aaaaa</div>  
  6.  <div class="r3"></div>  
  7.  <div class="r2"></div>  
  8.  <div class="r1"></div>  
  9. </div>  
CSS Code復(fù)制內(nèi)容到剪貼板
  1. .r1 {   
  2.  height1px;   
  3.  margin: 0 3px;   
  4.  background-color#111;   
  5. }   
  6. .r2 {   
  7.  height1px;   
  8.  margin: 0 2px;   
  9.  background-color#f4b4b4;   
  10.  border-left1px solid #111;   
  11.  border-right1px solid #111;   
  12. }   
  13. .r3 {   
  14.  height1px;   
  15.  margin: 0 1px;   
  16.  background-color#f4b4b4;   
  17.  border-left1px solid #111;   
  18.  border-right1px solid #111;   
  19. }   
  20. .content {   
  21.  background-color#f4b4b4;   
  22.  border-left1px solid #111;   
  23.  border-right1px solid #111;   
  24. }  

此方法優(yōu)缺點分析:

不使用背景圖片,減少了HTTP請求數(shù)。
后期維護(hù)性好,但是圓角矩形像素增加,無意義的div代碼將成倍增加。
實現(xiàn)的圓角矩形有局限性。
只能實現(xiàn)純色圓角。

3.使用CSS border 畫出梯形模擬圓角

通過設(shè)置border屬性,可以得到梯形和三角形,效果如下圖所示:
201662112741028.png (310×80)

當(dāng)給div的四個邊框設(shè)置比較大的寬度值時,就能得到四個梯形,如上圖中的第一個圖案;
在此基礎(chǔ)上,當(dāng)把div的高度值設(shè)為0后,就能得到梯形和等腰三角形了,如上圖中的第二個圖案;
當(dāng)把div的寬、高都設(shè)為0,且只設(shè)置上、左的兩個邊框時,就能得到兩個直角三角形,圖中的第三個圖案就是這種情況;
在此基礎(chǔ)上,把其中的一個邊框的顏色設(shè)置為透明,就能像第四個圖案一樣得到一個直角三角形。
代碼如下:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="box1"></div>  
  2. <div class="box2"></div>  
  3. <div class="box3"></div>  
  4. <div class="box4"></div>  
CSS Code復(fù)制內(nèi)容到剪貼板
  1. .box1 {   
  2.  height20px;   
  3.  width20px;   
  4.  border-top20px solid red;   
  5.  border-right20px solid green;   
  6.  border-bottom20px solid blue;   
  7.  border-left20px solid yellow;   
  8. }   
  9. .box2 {   
  10.  height: 0;   
  11.  width20px;   
  12.  border-top20px solid red;   
  13.  border-right20px solid green;   
  14.  border-bottom20px solid blue;   
  15.  border-left20px solid yellow;   
  16. }   
  17. .box3 {   
  18.  height: 0;   
  19.  width: 0;   
  20.  border-top50px solid red;   
  21.  /* border-right: 20px solid green; */  
  22.  /* border-bottom: 20px solid blue; */  
  23.  border-left50px solid yellow;   
  24. }   
  25. .box4 {   
  26.  height: 0;   
  27.  width: 0;   
  28.  border-top50px solid red;   
  29.  /* border-right: 20px solid green; */  
  30.  /* border-bottom: 20px solid blue; */  
  31.  border-left50px solid transparent;   
  32. }  

已經(jīng)知道了如何通過 border 畫出梯形了,那又該如何利用梯形模擬圓角矩形呢?很簡單,只要在矩形的上面和下面各放上一個梯形,就能得到圓角矩形了。原理嘛就是利用梯形的左右兩個斜邊模擬圓角啦,直接上效果圖:
201662112904855.png (213×55)

具體代碼如下:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="wrapper">  
  2.     <div class="top"></div>  
  3.  <div class="content">  
  4.      <p>利用border畫出梯形,模擬圓角</p>  
  5.  </div>  
  6.  <div class="bottom"></div>  
  7. </div>  
    CSS Code復(fù)制內(nèi)容到剪貼板
    1. div {   
    2.  box-sizing: border-box;   
    3. }   
    4. .top {   
    5.  height: 0;   
    6.  border-top3px solid transparent;   
    7.  border-bottom3px solid #111;   
    8.  border-left3px solid transparent;   
    9.  border-right3px solid transparent;   
    10. }   
    11. .bottombottom {   
    12.  height: 0;   
    13.  border-top3px solid #111;   
    14.  border-bottom3px solid transparent;   
    15.  border-left3px solid transparent;   
    16.  border-right3px solid transparent;   
    17. }   
    18. .content {   
    19.  color#fff;   
    20.  background-color#111;   
    21. }   
    22. .wrapper {   
    23.  width200px;   
    24.  margin: 0 auto;   
    25. }  

相關(guān)文章

  • CSS3 border-radius圓角的實現(xiàn)方法及用法詳解

    這篇文章主要介紹了CSS3 border-radius圓角的實現(xiàn)方法及用法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-14
  • 使用CSS的border-radius屬性 設(shè)置圓弧

    這篇文章主要介紹了使用CSS的border-radius屬性 設(shè)置圓弧,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-26
  • css3 border-radius屬性詳解

    這篇文章主要介紹了css3 border-radius屬性詳解,這里整理了詳細(xì)的代碼資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-05
  • CSS3 border-radius(圓角)效果在線調(diào)試工具

    這是一款可在線調(diào)試并預(yù)覽CSS3 border-radius(圓角)效果的工具。右側(cè)具有實時調(diào)試并顯示預(yù)覽效果的功能,同時能夠?qū)崟r生成對應(yīng)的css3效果代碼,方便需要的朋友使用。
    2016-05-31
  • 利用CSS3的border-radius繪制太極及愛心圖案示例

    CSS3中的border-radius可以輕松地用來繪制弧線,如果只用來做圓角矩形的話可就太浪費了,下面就來展示一下利用CSS3的border-radius繪制太極及愛心圖案示例,需要的朋友可以參
    2016-05-17
  • CSS3中border-radius屬性設(shè)定圓角的使用技巧

    這篇文章主要介紹了CSS3中border-radius屬性設(shè)定圓角的使用技巧,border-radius的作用不止是最常用的圓角矩形,我們還可以利用它設(shè)置弧度來制作其他弧線邊框圖形,需要的朋友
    2016-05-10
  • 實例講解CSS3中的border-radius屬性

    這篇文章主要介紹了實例講解CSS3中的border-radius屬性,是CSS3入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-18
  • HTML+css盒子模型案例(圓,半圓等)“border-radius” 簡單易上手

    這篇文章主要介紹了HTML+css盒子模型案例(圓,半圓等)“border-radius” 簡單易上手,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,
    2021-05-10

最新評論