CSS布局實(shí)例:僅一張圖片實(shí)現(xiàn)圓角!_DIV+CSS實(shí)例
教程Tag:暫無Tag,歡迎添加,賺取U幣!
這個(gè)代碼是UDSKY推薦給我的一段用圖片版的圓角代碼,于是分析代碼寫個(gè)教程,這段代碼最大的優(yōu)點(diǎn)是:只使用了一張圖片,代碼簡單,很輕易上手.不足之處在于做這種圓角BOX所在的背景區(qū)為單一色!還是直入正題吧!
預(yù)備一張圖片(我們要使用的那張背景圖,四個(gè)角都是這張背景圖四個(gè)部位顯示出來的).最初學(xué)習(xí)圓角時(shí),我承想過用一張四分之一的圓,然后背景圖旋轉(zhuǎn)/翻轉(zhuǎn)不就可以用以用在四個(gè)角上了吧,但是CSS中沒有這種功能,只好放棄這種不實(shí)際的想法!
圓角部分放大圖:
HTML代碼:
思路:盒子cssbox內(nèi)放入兩個(gè)box,上部分box做成兩個(gè)角(cssbox_head右角,H2左角),下部分box也做一個(gè)角的背景圖(左角).cssbox_body內(nèi)一個(gè)右下角.
第一步:
這一步是最簡單的,在一個(gè)盒子中定義一個(gè)右下角的背景圖片.
CSS代碼
瀏覽器中看到的效果見下圖:
執(zhí)行代碼:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
第二步
我們定義右上角的樣式,這一步也不難做到,因?yàn)槎x背景圖定義在右上,背景圖圓角外部分又不是透明,而是白色,所以白色區(qū)蓋住cssbox_body的綠色部分.
CSS代碼
瀏覽器中看到的效果見下圖:
第三步
經(jīng)過以上的兩步我們已經(jīng)做了出兩個(gè)角了,在接著做第三個(gè)角,定義在H2中也就是左上角.為了美觀一些,我們?cè)贖2中加入補(bǔ)白10PX,
CSS代碼
執(zhí)行代碼:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
疑點(diǎn):希奇了,為什么實(shí)際上并不是我們想要的效果?我們?cè)诳匆幌聠栴}出在哪,應(yīng)該是我們定義的第三個(gè)角的背景圖蓋住了右上cssbox_head中的角,解決的方法有兩種:
第一種:H2可以加一個(gè)右邊界這樣H2的背景就不會(huì)在蓋住cssbox_head的的那個(gè)角了;
第二種:反向思維,cssbox_head中加入一個(gè)右補(bǔ)白,這樣H2中的背景圖也不會(huì)蓋住cssbox_head中的角;
這里我們選用第二種方法.
執(zhí)行代碼:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
第四步
這一步和第三步很相似,這里就不會(huì)在犯錯(cuò)誤了,根據(jù)實(shí)際情況只能選用第一種方法.
css代碼
完整的代碼:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
最終效果圖
終于完成我們的"大作"了!從上面我們可以看出,定義這種效果的樣式是先從父元素到子元素定義的,也就是從外層向內(nèi)層定義,這是因?yàn)椋绞莾?nèi)層的的圖/背景,它在顯示時(shí)確是在外層的.
在內(nèi)容區(qū)假如P或其它元素有邊界的情況下會(huì)出現(xiàn)邊界疊加現(xiàn)象,在這里只要給cssbox_body加入一個(gè)1PX下補(bǔ)白就可以解決這種問題的發(fā)生,關(guān)于邊界疊加見網(wǎng)站中<邊界疊加>這篇文章.
本文作者:purecss
預(yù)備一張圖片(我們要使用的那張背景圖,四個(gè)角都是這張背景圖四個(gè)部位顯示出來的).最初學(xué)習(xí)圓角時(shí),我承想過用一張四分之一的圓,然后背景圖旋轉(zhuǎn)/翻轉(zhuǎn)不就可以用以用在四個(gè)角上了吧,但是CSS中沒有這種功能,只好放棄這種不實(shí)際的想法!
圓角部分放大圖:
HTML代碼:
示例代碼 [m.dounai2.com]
<DIV class=cssbox>
<DIV class=cssbox_head>
<H2>標(biāo)題</H2>
</DIV>
<DIV class=cssbox_body>
<P>內(nèi)容</P>
</DIV>
</DIV>
<DIV class=cssbox_head>
<H2>標(biāo)題</H2>
</DIV>
<DIV class=cssbox_body>
<P>內(nèi)容</P>
</DIV>
</DIV>
思路:盒子cssbox內(nèi)放入兩個(gè)box,上部分box做成兩個(gè)角(cssbox_head右角,H2左角),下部分box也做一個(gè)角的背景圖(左角).cssbox_body內(nèi)一個(gè)右下角.
第一步:
這一步是最簡單的,在一個(gè)盒子中定義一個(gè)右下角的背景圖片.
CSS代碼
示例代碼 [m.dounai2.com]
*{
padding:0;
margin:0;
}/*與本教程無關(guān)的代碼*/
.cssbox{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;/*與本教程無關(guān)的代碼*/
}
padding:0;
margin:0;
}/*與本教程無關(guān)的代碼*/
.cssbox{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;/*與本教程無關(guān)的代碼*/
}
瀏覽器中看到的效果見下圖:
執(zhí)行代碼:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
第二步
我們定義右上角的樣式,這一步也不難做到,因?yàn)槎x背景圖定義在右上,背景圖圓角外部分又不是透明,而是白色,所以白色區(qū)蓋住cssbox_body的綠色部分.
CSS代碼
示例代碼 [m.dounai2.com]
{
padding:0;
margin:0;
}
.cssbox,.cssbox_head{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
padding:0;
margin:0;
}
.cssbox,.cssbox_head{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
瀏覽器中看到的效果見下圖:
示例代碼 [m.dounai2.com]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML
xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<STYLE type=text/css>
{
padding:0;
margin:0;
}
.cssbox,.cssbox_head{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
</STYLE>
<META content="MSHTML 6.00.2900.2995" name=GENERATOR>
</HEAD>
<BODY>
<DIV class=cssbox>
<DIV class=cssbox_head>
<H2>標(biāo)題</H2>
</DIV>
<DIV class=cssbox_body>
<P>內(nèi)容</P>
</DIV>
</DIV>
</BODY>
</HTML>
<HTML
xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<STYLE type=text/css>
{
padding:0;
margin:0;
}
.cssbox,.cssbox_head{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
</STYLE>
<META content="MSHTML 6.00.2900.2995" name=GENERATOR>
</HEAD>
<BODY>
<DIV class=cssbox>
<DIV class=cssbox_head>
<H2>標(biāo)題</H2>
</DIV>
<DIV class=cssbox_body>
<P>內(nèi)容</P>
</DIV>
</DIV>
</BODY>
</HTML>
第三步
經(jīng)過以上的兩步我們已經(jīng)做了出兩個(gè)角了,在接著做第三個(gè)角,定義在H2中也就是左上角.為了美觀一些,我們?cè)贖2中加入補(bǔ)白10PX,
CSS代碼
示例代碼 [m.dounai2.com]
{
padding:0;
margin:0;
}
.cssbox,.cssbox_head,.cssbox_head h2{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
.cssbox_head h2{
background-position:top left;
margin:0;
padding:10px;
}
padding:0;
margin:0;
}
.cssbox,.cssbox_head,.cssbox_head h2{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
}
.cssbox_head h2{
background-position:top left;
margin:0;
padding:10px;
}
執(zhí)行代碼:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
疑點(diǎn):希奇了,為什么實(shí)際上并不是我們想要的效果?我們?cè)诳匆幌聠栴}出在哪,應(yīng)該是我們定義的第三個(gè)角的背景圖蓋住了右上cssbox_head中的角,解決的方法有兩種:
第一種:H2可以加一個(gè)右邊界這樣H2的背景就不會(huì)在蓋住cssbox_head的的那個(gè)角了;
第二種:反向思維,cssbox_head中加入一個(gè)右補(bǔ)白,這樣H2中的背景圖也不會(huì)蓋住cssbox_head中的角;
這里我們選用第二種方法.
示例代碼 [m.dounai2.com]
.cssbox_head{
background-position:top right;
padding-right:10px;
}
.cssbox_head h2{
background-position:top left;
padding:10px 0 10px 10px;
}
background-position:top right;
padding-right:10px;
}
.cssbox_head h2{
background-position:top left;
padding:10px 0 10px 10px;
}
執(zhí)行代碼:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
第四步
這一步和第三步很相似,這里就不會(huì)在犯錯(cuò)誤了,根據(jù)實(shí)際情況只能選用第一種方法.
css代碼
示例代碼 [m.dounai2.com]
*{
padding:0;
margin:0;
}
.cssbox,.cssbox_head,.cssbox_head h2,.cssbox_body{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
padding-right:10px;
}
.cssbox_head h2{
background-position:top left;
padding:10px 0 10px 10px;
}
.cssbox_body{
background-position:bottom left;
margin-right:10px; /* interior-padding right */
padding:0px 0 10px 10px;
}
padding:0;
margin:0;
}
.cssbox,.cssbox_head,.cssbox_head h2,.cssbox_body{
background: transparent url(http://www.purecss.cn/attachments/month_0706/img.png) no-repeat;
}
.cssbox{
background-position:bottom right;
width:380px;
margin:20px auto;
}
.cssbox_head{
background-position:top right;
padding-right:10px;
}
.cssbox_head h2{
background-position:top left;
padding:10px 0 10px 10px;
}
.cssbox_body{
background-position:bottom left;
margin-right:10px; /* interior-padding right */
padding:0px 0 10px 10px;
}
完整的代碼:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
最終效果圖
終于完成我們的"大作"了!從上面我們可以看出,定義這種效果的樣式是先從父元素到子元素定義的,也就是從外層向內(nèi)層定義,這是因?yàn)椋绞莾?nèi)層的的圖/背景,它在顯示時(shí)確是在外層的.
在內(nèi)容區(qū)假如P或其它元素有邊界的情況下會(huì)出現(xiàn)邊界疊加現(xiàn)象,在這里只要給cssbox_body加入一個(gè)1PX下補(bǔ)白就可以解決這種問題的發(fā)生,關(guān)于邊界疊加見網(wǎng)站中<邊界疊加>這篇文章.
本文作者:purecss
相關(guān)DIV+CSS實(shí)例:
- 固定div容器的寬高,圖片居中(圖片不限制大小)
- 用css制作有滾動(dòng)條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個(gè)很酷的涂鴉風(fēng)格國外網(wǎng)店設(shè)計(jì)展示
- jquery模擬瀏覽器滾動(dòng)條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁最后更新時(shí)間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實(shí)例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語義
- DivCSS實(shí)例:CSS菜單Flash效果用圖片模擬實(shí)現(xiàn)
- DivCSS布局實(shí)例用dldtdd來制作列表
DIV+CSS實(shí)例Rss訂閱Div+Css教程搜索
DIV+CSS實(shí)例推薦
- DIV CSS布局入門示例(五)border和clear
- Div CSS實(shí)例:如何用CSS實(shí)現(xiàn)背景半透明效果
- CSS圖片放大展示的一種小思路
- CSS菜單:明快清新的格調(diào)闡述CSS當(dāng)前頁效果的實(shí)現(xiàn)
- 用css網(wǎng)站布局之十步實(shí)錄!(十)
- DIVCSS菜單:超炫的菜單一張圖片實(shí)現(xiàn)鼠標(biāo)的兩種狀態(tài)及CSS當(dāng)前頁效果
- css圓角之有序列表dl、無序列表ul如何實(shí)現(xiàn)?
- 用背景圖片實(shí)現(xiàn)CSS柱狀圖表一例
- CSS如何實(shí)現(xiàn)單行圖片與文字垂直居中?
- DIVCSS布局實(shí)例:DIV CSS新聞列表制作
猜你也喜歡看這些
- 使一個(gè)層垂直居中于瀏覽器
- 文本輸入框與文本不對(duì)齊(input對(duì)齊同一行的文字)怎么辦?
- border:none;與border:0;的有什么不同?
- CSS入門教程:縱向下拉及多級(jí)彈出式菜單
- 如何定義標(biāo)題最恰當(dāng)符合Web標(biāo)準(zhǔn)?
- CSS網(wǎng)站橫向?qū)Ш?/a>
- li中出現(xiàn)兩個(gè)以上浮動(dòng)時(shí)列表標(biāo)記出現(xiàn)問題的解決辦法
- 為什么在DreamWeaver編輯環(huán)境中CSS沒有效果?
- IE6和IE7中border邊框斷線現(xiàn)象
- DIVCSS列形導(dǎo)航一例,超酷解析!
- 相關(guān)鏈接:
- 教程說明:
DIV+CSS實(shí)例-CSS布局實(shí)例:僅一張圖片實(shí)現(xiàn)圓角!。