国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

深入了解float與inline-block

2024-07-11 08:34:56
字體:
供稿:網(wǎng)友

最近工作比較輕松,所以一直在寫自己的canvas庫..也沒啥好知識點寫博客,停滯了有2個月了吧.故今天決心花些時間來寫一篇css的博文,剛好最近項目寫界面的時候碰到這2個家伙…所以就和大家一起來半深入的理解下

首先是兼容性

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

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

復制代碼代碼如下:
display:inline; //強行不換行
zoom:1; // 用來觸發(fā)hasLayout,有興趣深入理解的猴子可自行了解

其次是對父親元素的影響

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

復制代碼代碼如下:
font-size: 0;

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

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

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

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

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

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

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

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

最后的最后…就個人而言還是喜歡用inline-block多點,用float的地方多數(shù)可以用inline-block來代替,唯有當要圍繞某個元素時float是唯一的解決方法

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 和林格尔县| 白玉县| 宁乡县| 怀集县| 通州市| 内乡县| 沐川县| 建阳市| 周宁县| 沁源县| 蒙阴县| 开化县| 浮山县| 鄯善县| 文水县| 临猗县| 即墨市| 武功县| 三门峡市| 大关县| 荆州市| 贺州市| 黔江区| 肥城市| 宁阳县| 庐江县| 丽江市| 新绛县| 西平县| 吉木乃县| 牟定县| 响水县| 台州市| 蓬溪县| 阿合奇县| 灌南县| 闻喜县| 新建县| 西峡县| 绥滨县| 西乌珠穆沁旗|