1、首先判斷display屬性是否為none,如果為none,則position和float屬性的值不影響元素最后的表現(xiàn)。
2、然后判斷position的值是否為absolute或者fixed,如果是,則float屬性失效,并且display的值應(yīng)該被設(shè)置為table或者block,具體轉(zhuǎn)換需要看初始轉(zhuǎn)換值。
3、如果position的值不為absolute或者fixed,則判斷float屬性的值是否為none,如果不是,則display的值則按上面的規(guī)則轉(zhuǎn)換。注意,如果position的值為relative并且float屬性的值存在,則relative相對(duì)于浮動(dòng)后的最終位置定位。
4、如果float的值為none,則判斷元素是否為根元素,如果是根元素則display屬性按照上面的規(guī)則轉(zhuǎn)換,如果不是,則保持指定的display屬性值不變。
總的來說,可以把它看作是一個(gè)類似優(yōu)先級(jí)的機(jī)制,"position:absolute"和"position:fixed"優(yōu)先級(jí)最高,有它存在的時(shí)候,浮動(dòng)不起作用,'display'的值也需要調(diào)整;其次,元素的'float'特性的值不是"none"的時(shí)候或者它是根元素的時(shí)候,調(diào)整'display'的值;最后,非根元素,并且非浮動(dòng)元素,并且非絕對(duì)定位的元素,'display'特性值同設(shè)置值。