溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣使用float與inline-block

發(fā)布時間:2021-09-13 14:37:32 來源:億速云 閱讀:111 作者:柒染 欄目:web開發(fā)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎樣使用float與inline-block,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


首先是兼容性

float的話完全不用擔(dān)心什么瀏覽器都能兼容,比較是一個很老的屬性了.

inline-block則在IE8以上(包括8)才能使用,查了下資料,其實(shí)IE5.5的時候就已經(jīng)有inline-block了,只是實(shí)現(xiàn)不一樣,所以想要兼容低版本的IE就只能用額外的代碼

代碼如下:


display:inline;  //強(qiáng)行不換行
zoom:1;          //  用來觸發(fā)hasLayout,有興趣深入理解的猴子可自行了解

其次是對父親元素的影響

inline-block的話,沒什么好說的,唯一要注意的就是每個設(shè)置了inline-block的元素直接都會有空隙,可以在父親元素里設(shè)置

代碼如下:


font-size: 0;

來消除,不過后果是什么大家都知道,不過我依然覺得這是最簡單暴力的方法,當(dāng)然也有其他方法,還是請自行查找

float的話,設(shè)置了該屬性的元素會脫離文本流,也就是說和position:absolute一樣,不過對于一樣設(shè)置了該屬性的元素則不會.所以帶來的問題就是父親元素并不會隨著子元素的大小改變長寬,但是如果父親元素設(shè)置為inline-block的話,則長寬會隨著子元素變化(前提是瀏覽器兼容inline-block,如果兼容的話我就直接用inline-block了~).

所以在不給父親元素設(shè)置inline-block屬性的時候就需要清除浮動.

在父親元素結(jié)束前最后一個浮動元素后.clear:both下(原理大概就是用一個有文本流的元素定位父親元素的大小),這樣父親元素的高度就會隨浮動元素改變

最后是一點(diǎn)其他的小區(qū)別

基線:float和inline-block的基線不一樣

float的基線是浮動元素緊貼頂部

inline-block的基線是默認(rèn)的基線,所以比較靈活可以配合vertical-align.

上述就是小編為大家分享的怎樣使用float與inline-block了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI