html和css基礎--float屬性給父元素帶來的問題及方案

float浮動引發的特殊效果:

                     1、父元素中,如果顯示不下所有的已浮動子元素,最後一個會換行,有可能會被卡住

                     2、元素一旦浮動起來之後,元素寬度將由內容來決定(非指定情況下)

                     3、元素一旦浮動起來之後,那麼都將變成塊級元素,尤其對行內元素影響較大

                            塊級元素:允許修改尺寸

                            行內元素:不能修改尺寸

                     4、文本,行內元素,行內塊元素 是採用環繞的方式來排列的,不會被浮動元素壓在低下,而會巧妙的避開浮動元素

清除浮動:屬性:clearnone/ left/ right/both

@清除浮動所帶來的影響:

元素一旦浮動起來,會對後面的元素帶來位置的影響,如果後面的元素不想被影響的話,可以通過 "清除" 的方式 來解除影響

@浮動元素對父元素的影響:

由於浮動元素會脫離文檔流,所以會導致元素不佔據空間.如果一個元素中所有的子元素全部都是浮動的,那麼該元素的高度就是 0 ,父元素的高度,是以未浮動元素的高度爲準

                     解決方案:

                            1、直接設置父元素的高度

                                   弊端:必須要知道父元素的高度

                            2、設置父元素也浮動

                                   弊端:對後續元素時有位置影響的

                            3、爲父元素設置 overflow 取值爲 hidden  auto

                                   弊端:如果有要溢出顯示的內容,也一同被隱藏

                            4、第一種:在父元素的最後一個子元素位置處,增加 一個空塊級元素,並且設置其 clear:both:

5.第二種方法:

#d0:after{

            content: "";

            display: block;

            clear: both;}

              1、最後一個子元素位置處添加一個空的div,如父元素id爲#d0

                            爲父元素添加 :after(內容生成屬性)

                  2、空子元素:生成空元素

                            content:"";

                     3、設置塊級元素

                            display:block;

                     4、清除clear:both

                            clear:both;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章