精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

css如何實現元素水平排列

這篇文章將為大家詳細講解有關css如何實現元素水平排列,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯是一家集網站建設,蘿北企業網站建設,蘿北品牌網站建設,網站定制,蘿北網站建設報價,網絡營銷,網絡優化,蘿北網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

    第一種:display:inline-block

    首先得先了解塊級元素(blockelements)和行內元素(inlineelements)

    塊級元素:塊級元素包含widthheight,padding,border與margin,他們的排列方式是從上到下排列,常見的塊級元素有div,p,form,ul等等。

    行內元素:高度和寬度由內容決定,自身沒法設定固定的大小,不存在垂直方向的margin和padding,排列方式是水平排列,行內元素在html所有元素占大多數,比如a,span,label,button,img,input......

    這里可能有人會產生疑問,“button和img以及input等標簽可以設置寬度和高度也可以設置margin與padding,為什么它確實行內元素呢?”其實html元素主要有兩種劃分方式,分別是“塊級元素與行內元素”,“替換元素與不可替換元素”。上面介紹了第一種劃分方式,下面介紹一下第二種劃分方式:

    替換元素:通俗的理解就是具有width和height屬性的元素。替換元素類似于display:inline-block元素,可以設置高寬與內外邊距,主要包括img,input,textarea,select,object,audio和canvas在某些特定情形下為替換元素。

    不可替換元素:除了替換元素剩下的都是不可替換元素(O(∩_∩)O)

    扯了一大堆,我們知道display:inline-block可以讓元素橫向排列,但是這種布局可能會存在一點點小問題,舉栗子:

   

    左邊

    右邊

    這是我們發現兩個div之間存在一個空隙,這是為什么呢?

    瀏覽器會將換行符,縮進符,以及空格當做一個空格來處理,即使暗戀兩次空格,或者一個換行加一個空格,等等都會解析成一個空格使用。這個空格的大小則是font-size/2大小。去除這個空隙有很多辦法。

    1.設置div2的margin-left:-font-size/2

    2.設置兩個div的父標簽的font-size:0

    3.設置負的word-spacing

    第二種:float:left/right

    float屬性可以讓元素脫離常規文檔流,沿著容器的左側或者右側進行水平排列。

    這種方式可以說是用的最多的,但是有個問題,在自適應布局中一般不會固定元素的高寬,會根據內容大小來自動調整,這是如果子元素都是浮動元素的話就會存在高度塌陷。

    舉栗子

   

   

    左邊

    右邊

   

    這里將上一個栗子中的子元素div故意改成了span,其實想表達float可以將元素隱式的轉換成block元素(position:absolute/fixed亦可),所以自然就可以設置寬度和高度。

    那么盒子水平排列之后存在什么問題呢?沒錯!父容器高度塌陷。這時父容器div的高度為0,因為浮動元素會脫離常規文檔流,它的父容器計算高度時會忽略它。這是我們不想看到的,因為這個高度塌陷的DIV后面如果還有其它常規流標簽的話,那么頁面就會出現錯亂等不想看到的結果。

    解決辦法自然就是清除浮動,主要通過兩種方式清除浮動:

    1.clear:left/right/both,專門用來清除浮動的CSS。

    2.BFC,因為BFC有一條規則“計算BFC的高度時,浮動元素也參與計算”。

    說一下用clear清除浮動的幾種方法:

    1.最后一個子元素后面加一個空標簽,然后設置其樣式clear:both。

    2.在最后一個浮動子元素中,利用偽元素::after,添加clear樣式清除浮動

    第三種:table布局

    這種布局方式其實不常用,因為它存在種種問題。

    渲染速度較慢

    增加html代碼量,不易維護

    標簽的名字不符合html語義化,table本來就是做表格用的,拿來布局甚是不妥

    標簽結構較死,后期修改成本較高

    等等,此處不作過多闡述。總之,盡量用table布局

    第四種:絕對定位

    這種方式日常開發中用的也較多,前面提到float可以讓元素脫離常規文檔流,這里position:absolute/fixed也具有同樣的效果,處理辦法在float布局中已經提到了,這里搬來即可。

    這里要說一下position:absolute絕對定位,以它的第一個父級并且是position:absolute/relative/fixed等飛static定位的元素為基點進行定位,如果找不到則以根元素為基準進行定位。一般都是采用父元素position:ralative,子元素position:absolute結合使用。

    第五種:css3的彈性布局

    彈性布局因為其兼容性所以還沒有得到廣泛的認可,不過我覺得以后它肯定會獨占鰲頭,就跟我看好html的視頻播放器一樣,早晚都會干敗flash,只是時間問題?。?!

    第六種:transform:translate

    CSS3中用于動畫的一個樣式,但是他可是讓兩個元素橫向排列,這里不多說直接上代碼,請用谷歌瀏覽器運行一下:

   

   

    左邊

    右邊

   

關于“css如何實現元素水平排列”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網頁標題:css如何實現元素水平排列
分享地址:http://m.jcarcd.cn/article/goepcs.html

其他資訊

主站蜘蛛池模板: 日韩一区三区视频 | 欧美综合在线五 | 91视频网站入口 | 国产福利发布页 | 欧美在线高| 国产精品自拍亚洲 | 欧洲影院网| 国产精选免 | 精品不卡一区二区 | 国产乱偷国产偷高清 | 欧美日韩国产一 | 国产92刮伦脏话对 | 国产在线午夜 | 日本一本在 | 日韩精品国产一区 | 韩国男女 | 国产偷啪视频一区 | 国产精品玖 | 日本一本a高清免费 | 日本日韩欧美 | 国产精品美女视视频 | 国产91精 | 精品国内综 | 午夜韩日 | 69精品人人槡 | 国产欧美性爱 | 日韩午夜炮机 | 欧美日韩精 | 碰97在线免费视频 | 国产日本韩国亚 | 日本一道综 | 国内外成人免 | 日本中文字幕有码 | 成人家庭影院 | 日本一本之道 | 国产日韩一二三四区 | 欧美日韩综 | 国产精品一区乱码在 | 国产做爰xxx | 日韩欧美a级 | 七十路熟女交尾hd |