圓角效果border-radius
傳統(tǒng)的圓角生成方案,必須使用多張圖片作為背景圖案。CSS3的出現(xiàn),使得我們?cè)僖膊槐乩速M(fèi)時(shí)間去制作這些圖片了,只需要border-radius屬性,支持瀏覽器IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox 4
一、border-radius屬性
CSS3圓角只需設(shè)置一個(gè)屬性:border-radius(含義是"邊框半徑")。你為這個(gè)屬性提供一個(gè)值,就能同時(shí)設(shè)置四個(gè)圓角的半徑。所有合法的CSS度量值都可以使用:em、px、百分比等等。
比如,下面是一個(gè)div方框(寬高都是200,背景為紅色,邊框?yàn)?px solid #000)
css3(border-radius)邊框圓角詳解
現(xiàn)在設(shè)置它的圓角半徑為50px,即:
border-radius:50px;
css3(border-radius)邊框圓角詳解
這條語(yǔ)句同時(shí)將每個(gè)圓角的"水平半徑"和"垂直半徑"都設(shè)置為50px。
css3(border-radius)邊框圓角詳解
border-radius可以同時(shí)設(shè)置1到4個(gè)值。(想想我們之前的margin與padding)如果設(shè)置1個(gè)值,表示4個(gè)圓角都使用這個(gè)值。如果設(shè)置兩個(gè)值,表示左上角和右下角使用第一個(gè)值,右上角和左下角使用第二個(gè)值。如果設(shè)置三個(gè)值,表示左上角使用第一個(gè)值,右上角和左下角使用第二個(gè)值,右下角使用第三個(gè)值。如果設(shè)置四個(gè)值,則依次對(duì)應(yīng)左上角、右上角、右下角、左下角(順時(shí)針順序)。
例:
border-radius:50px 25px; //表示左上角和右下角使用第一個(gè)值,右上角和左下角使用第二個(gè)值
css3(border-radius)邊框圓角詳解
border-radius:25px 10px 50px; //左上角使用第一個(gè)值,右上角和左下角使用第二個(gè)值,右下角使用第三個(gè)值
css3(border-radius)邊框圓角詳解
border-radius:25px 10px 50px 0;//左上角、右上角、右下角、左下角(順時(shí)針順序)
css3(border-radius)邊框圓角詳解
border-radius還可以用斜杠設(shè)置第二組值。這時(shí),第一組值表示水平半徑,第二組值表示垂直半徑。第二組值也可以同時(shí)設(shè)置1到4個(gè)值,應(yīng)用規(guī)則與第一組值相同。
border-radius:50px/25px;
css3(border-radius)邊框圓角詳解
border-radius: 100px 25px 80px 5px / 45px 25px 30px 15px;
css3(border-radius)邊框圓角詳解
二、單個(gè)圓角的設(shè)置
除了同時(shí)設(shè)置四個(gè)圓角以外,還可以單獨(dú)對(duì)每個(gè)角進(jìn)行設(shè)置。對(duì)應(yīng)四個(gè)角,CSS3提供四個(gè)單獨(dú)的屬性:
* border-top-left-radius
* border-top-right-radius
* border-bottom-right-radius
* border-bottom-left-radius
這四個(gè)屬性都可以同時(shí)設(shè)置1到2個(gè)值。如果設(shè)置1個(gè)值,表示水平半徑與垂直半徑相等。如果設(shè)置2個(gè)值,第一個(gè)值表示水平半徑,第二個(gè)值表示垂直半徑。
border-top-left-radius: 50px;
css3(border-radius)邊框圓角詳解
border-top-left-radius: 50px 100px;//第一個(gè)值表示水平半徑,第二個(gè)值表示垂直半徑。
css3(border-radius)邊框圓角詳解
三、效果
css3(border-radius)邊框圓角詳解
實(shí)現(xiàn)代碼:
width:0; height:0; border:100px solid gray; border-radius:100px; border-right-color:#fff;
css3(border-radius)邊框圓角詳解
實(shí)現(xiàn)代碼
height:100px; width:200px; background: red; border-radius:100px/50px;