Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
言
由于前端所設(shè)計(jì)的領(lǐng)域太多,每篇文章所能講述的知識(shí)點(diǎn)太多,對(duì)于讀者來說不太好消化,因此以后基本是采用一篇文章一個(gè)知識(shí)點(diǎn)來寫作。
今天這篇文章主要講解css中a標(biāo)簽的高度和寬度問題。
css
問題描述
在采用div+css的方式布局頁面時(shí),對(duì)于超鏈接a標(biāo)簽,無法設(shè)置其高度和寬度,即使對(duì)其設(shè)置了width和height屬性,也不會(huì)生效。
我們通過如下例子來看看。
給a標(biāo)簽設(shè)置了如下css屬性。
css屬性
但是從下圖可以看出,a標(biāo)簽的高度和寬度沒有發(fā)生變化,仍然是122px*22px。
實(shí)際效果
問題原因
為什么會(huì)出現(xiàn)這個(gè)情況呢?
因?yàn)閍標(biāo)簽屬于行內(nèi)元素,行內(nèi)元素是無法直接設(shè)置高度和寬度的。
遇到這個(gè)問題,我們該怎么解決呢,主要有以下幾個(gè)方法。
解決方法1-設(shè)置塊級(jí)元素
既然行內(nèi)元素?zé)o法設(shè)置高度和寬度,那么我們將其設(shè)置為塊級(jí)元素呢?
我們對(duì)a標(biāo)簽設(shè)置以下的樣式。
設(shè)置display:block
我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,而且在設(shè)置為塊級(jí)元素后,占據(jù)了一整行的位置。
高度發(fā)生變化
解決方法2-設(shè)置浮動(dòng)
通過將a標(biāo)簽設(shè)置為浮動(dòng)狀態(tài),同樣可以改變其高度和寬度。
我們給a標(biāo)簽設(shè)置以下css樣式。
設(shè)置為浮動(dòng)元素
我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,并且其占據(jù)的寬度和設(shè)置的width屬性一樣,與方法1呈現(xiàn)的不一樣。
改為浮動(dòng)元素
方法3-設(shè)置padding屬性
在設(shè)置padding屬性的時(shí)候,不能直接改變a標(biāo)簽的高度和寬度,實(shí)際是一種模擬的狀態(tài)。
而且需要注意的是在設(shè)置padding-top和padding-bottom時(shí)是不生效的,即使從控制臺(tái)看元素顯示占據(jù)了空間,但不會(huì)影響頁面的布局。因此在設(shè)置padding屬性時(shí),實(shí)際只會(huì)影響到a標(biāo)簽的寬度。
我們給a標(biāo)簽設(shè)置以下padding屬性。
設(shè)置padding屬性
我們可以看出a標(biāo)簽占據(jù)的高度和寬度發(fā)生了變化,但是實(shí)際只是寬度占據(jù)的空間發(fā)生變化,高度不變。
設(shè)置padding屬性
結(jié)束語
今天這個(gè)簡單的知識(shí)點(diǎn):設(shè)置a標(biāo)簽的高度和寬度,大家都學(xué)會(huì)了嗎?
言
由于前端所設(shè)計(jì)的領(lǐng)域太多,每篇文章所能講述的知識(shí)點(diǎn)太多,對(duì)于讀者來說不太好消化,因此以后基本是采用一篇文章一個(gè)知識(shí)點(diǎn)來寫作。
今天這篇文章主要講解css中a標(biāo)簽的高度和寬度問題。
css
問題描述
在采用div+css的方式布局頁面時(shí),對(duì)于超鏈接a標(biāo)簽,無法設(shè)置其高度和寬度,即使對(duì)其設(shè)置了width和height屬性,也不會(huì)生效。
我們通過如下例子來看看。
給a標(biāo)簽設(shè)置了如下css屬性。
css屬性
但是從下圖可以看出,a標(biāo)簽的高度和寬度沒有發(fā)生變化,仍然是122px*22px。
實(shí)際效果
問題原因
為什么會(huì)出現(xiàn)這個(gè)情況呢?
因?yàn)閍標(biāo)簽屬于行內(nèi)元素,行內(nèi)元素是無法直接設(shè)置高度和寬度的。
遇到這個(gè)問題,我們該怎么解決呢,主要有以下幾個(gè)方法。
解決方法1-設(shè)置塊級(jí)元素
既然行內(nèi)元素?zé)o法設(shè)置高度和寬度,那么我們將其設(shè)置為塊級(jí)元素呢?
我們對(duì)a標(biāo)簽設(shè)置以下的樣式。
設(shè)置display:block
我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,而且在設(shè)置為塊級(jí)元素后,占據(jù)了一整行的位置。
高度發(fā)生變化
解決方法2-設(shè)置浮動(dòng)
通過將a標(biāo)簽設(shè)置為浮動(dòng)狀態(tài),同樣可以改變其高度和寬度。
我們給a標(biāo)簽設(shè)置以下css樣式。
設(shè)置為浮動(dòng)元素
我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,并且其占據(jù)的寬度和設(shè)置的width屬性一樣,與方法1呈現(xiàn)的不一樣。
改為浮動(dòng)元素
方法3-設(shè)置padding屬性
在設(shè)置padding屬性的時(shí)候,不能直接改變a標(biāo)簽的高度和寬度,實(shí)際是一種模擬的狀態(tài)。
而且需要注意的是在設(shè)置padding-top和padding-bottom時(shí)是不生效的,即使從控制臺(tái)看元素顯示占據(jù)了空間,但不會(huì)影響頁面的布局。因此在設(shè)置padding屬性時(shí),實(shí)際只會(huì)影響到a標(biāo)簽的寬度。
我們給a標(biāo)簽設(shè)置以下padding屬性。
設(shè)置padding屬性
我們可以看出a標(biāo)簽占據(jù)的高度和寬度發(fā)生了變化,但是實(shí)際只是寬度占據(jù)的空間發(fā)生變化,高度不變。
設(shè)置padding屬性
結(jié)束語
今天這個(gè)簡單的知識(shí)點(diǎn):設(shè)置a標(biāo)簽的高度和寬度,大家都學(xué)會(huì)了嗎?
在css中,當(dāng)按百分比設(shè)定的一個(gè)元素的寬度時(shí),它確實(shí)是相對(duì)于寬度計(jì)算的,但是,對(duì)于一些豎向的距離屬性呢?比如padding-top或者bottom和margin-top或者bottom等,當(dāng)按百分比設(shè)定時(shí),它們依據(jù)的是父容器的寬度,而不是高度。
下面是一個(gè)實(shí)例演示,你可以調(diào)整容器的寬度,但你會(huì)發(fā)現(xiàn),黃塊的padding-bottom的距離也會(huì)隨之寬度而變大或變小。
以下為大家展示下
HTML:
CSS:
效果:
總結(jié):
當(dāng)移動(dòng)滑動(dòng)條時(shí),我們css只修改了容器的寬度。但是,這三個(gè)屬性的高度也隨之變化。所以,可以看出,當(dāng)按把百分比計(jì)算的是按容器的寬度,而不是高度來的。
切圖 qiewtu(.com)
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。