整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          CSS 布局模型詳解

          CSS 布局模型詳解

          ss布局模型

          清楚了CSS盒模型的基本概念、盒模型類型,我們就可以深入探討網(wǎng)頁布局的基本模型了。布局模型與盒模型一樣都是CSS最基本、最核心的概念。

          但布局模型是建立在盒模型基礎(chǔ)之上,又不同于我們常說的CSS布局樣式或CSS布局模板。如果說布局模型是本,那么CSS布局模板就是末了,是外在的表現(xiàn)形式。

          CSS包含3種基本的布局模型,用英文概括為:Flow、Layer和Float。

          在網(wǎng)頁中,元素有三種布局模型:

          1、流動模型(Flow)

          2、浮動模型(Float)

          3、層模型(Layer)

          流動模型(一)

          先來說一說流動模型,流動(Flow)是默認(rèn)的網(wǎng)頁布局模式。也就是說網(wǎng)頁在默認(rèn)狀態(tài)下的HTML網(wǎng)頁元素都是根據(jù)流動模型來分布網(wǎng)頁內(nèi)容的。

          流動布局模型具有2個比較典型的特征:

          第一點(diǎn),塊狀元素都會在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%。

          實(shí)際上,塊狀元素都會以行的形式占據(jù)位置。如右側(cè)代碼編輯器中三個塊狀元素標(biāo)簽(div,h1,p)寬度顯示為100%。

          流動模型(二)

          第二點(diǎn),在流動模型下,內(nèi)聯(lián)元素都會在所處的包含元素內(nèi)從左到右水平分布顯示。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)

          標(biāo)簽a、span、em、strong都是內(nèi)聯(lián)元素。

          浮動模型

          塊狀元素這么霸道都是獨(dú)占一行,如果現(xiàn)在我們想讓兩個塊狀元素并排顯示,怎么辦呢?不要著急,設(shè)置元素浮動就可以實(shí)現(xiàn)這一愿望。

          任何元素在默認(rèn)情況下是不能浮動的,但可以用CSS定義為浮動,如 div、p、table、img 等元素都可以被定義為浮動。

          如下代碼可以實(shí)現(xiàn)兩個div元素一行顯示。

          div{
              width:200px;
              height:200px;
              border:2px red solid;
              float:left;
          }
          <div id="div1"></div>
          <div id="div2"></div>

          層模型

          什么是層布局模型?層布局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣,每個圖層能夠精確定位操作,

          但在網(wǎng)頁設(shè)計領(lǐng)域,由于網(wǎng)頁大小的活動性,層布局沒能受到熱捧。但是在網(wǎng)頁上局部使用層布局還是有其方便之處的。

          下面我們來學(xué)習(xí)一下html中的層布局。

          如何讓html元素在網(wǎng)頁中精確定位,就像圖像軟件PhotoShop中的圖層一樣可以對每個圖層能夠精確定位操作。

          CSS定義了一組定位(positioning)屬性來支持層布局模型。

          層模型有三種形式:

          1、絕對定位(position: absolute)

          2、相對定位(position: relative)

          3、固定定位(position: fixed)

          著移動設(shè)備和不同屏幕大小的設(shè)備的普及,為網(wǎng)站設(shè)計一個能自適應(yīng)不同設(shè)備的界面對于設(shè)計師和開發(fā)人員至關(guān)重要。流動布局提供了一種靈活的布局方法,可以根據(jù)設(shè)備的尺寸和方向自動調(diào)整元素的布局。

          流動布局的特性

          流動布局具有以下特性:

          * 元素的寬度或高度會隨著屏幕大小的改變而自動調(diào)整。

          * 元素會自動在不同的設(shè)備方向(橫屏或縱屏)中排列。

          * 確保所有元素都適合設(shè)備的屏幕。

          使用 flexbox 的流動布局

          Flexbox 是 CSS 中的一種靈活布局模型,可用于創(chuàng)建流動布局。其特性如下:

          * 將元素排成一行或列。

          * 自動調(diào)整元素的寬度或高度以填充可用空間。

          * 改變元素的排列順序。

          使用 grid 的流動布局

          Grid 是一種更復(fù)雜的布局模型,它提供了更強(qiáng)大的靈活性和控制能力。其特性如下:

          * 將頁面布局成網(wǎng)格。

          * 在網(wǎng)格中定義元素的位置。

          * 自動調(diào)整元素的寬度或高度以填充網(wǎng)格。

          結(jié)論

          流動布局是現(xiàn)代網(wǎng)站開發(fā)中必不可少的技術(shù),可以提供自適應(yīng)不同設(shè)備的靈活布局。通過使用 flexbox 或 grid,可以創(chuàng)建具有美觀和功能強(qiáng)大的流動布局。

          TML中常用的布局元素:<table>、<div>+CSS

          <table>標(biāo)簽:

          <table>指的是表格,用表格來搭建界面布局,即用表格的嵌套,來搭建界面布局。

          <table>布局優(yōu)勢:

          table優(yōu)勢:開發(fā)時間短(使用DW開發(fā)速度快);純table各瀏覽器不會有兼容問題;內(nèi)容可自適應(yīng);在搜索引擎排名能靠前;

          但是 table如果布局變更,需要重新開發(fā);如果table里有div ul 等,可能會出現(xiàn)瀏覽器兼容問題;加載速度慢;table嵌套的太多,運(yùn)維是非常困難的。

          <div>塊級(block-level)標(biāo)簽:

          DIV是層疊樣式表中的定位技術(shù),全稱DIVision,即為劃分。有時可以稱其為圖層。

          <div>布局優(yōu)勢:

          一.精簡代碼,減少重構(gòu)難度。

          網(wǎng)站使用DIV+CSS布局使代碼很是精簡,css文件可以在網(wǎng)站的任意一個頁面進(jìn)行調(diào)用,而若是使用table表格修改部分頁面卻是顯得很麻煩。要是一個門戶網(wǎng)站的話,需手動改很多頁面,而且看著那些表格也會感覺很亂也很浪費(fèi)時間,但是使用css+div布局只需修改css文件中的一個代碼即可。

          二.網(wǎng)頁訪問速度

          使用了DIV+CSS布局的網(wǎng)頁與Table布局比較,精簡了許多頁面代碼,那么其瀏覽訪問速度自然得以提升,也從而提升了網(wǎng)站的用戶體驗(yàn)度。

          三.SEO優(yōu)化

          采用div-css布局的網(wǎng)站對于搜索引擎很是友好,因此其避免了Table嵌套層次過多而無法被搜索引擎抓取的問題,而且簡潔、結(jié)構(gòu)化的代碼更加有利于突出重點(diǎn)和適合搜索引擎抓取。

          四.瀏覽器兼容性

          若使用table布局網(wǎng)頁,在使用不同瀏覽器情況下會發(fā)生錯位,而div+css則不會,無論什么瀏覽器,網(wǎng)頁都不會出現(xiàn)變形情況。


          HTML中常用的3種布局方式:

          1.流動式布局:是HTML網(wǎng)頁默認(rèn)的布局方式

          特點(diǎn):

          1.塊級元素都會在所處的包含元素內(nèi)自上而下按順序處置延伸分布,且默認(rèn)狀態(tài)下,塊級元素占整個文檔流,默認(rèn)寬度為100%。

          2.內(nèi)聯(lián)元素都會在所處的包含元素內(nèi)從左到右水平分布顯示,不占整個文檔流。

          常見的塊級(block)元素有:<h1-h5> 、<table>、 <ul>、<li> 、<p> 、<form>、 ol

          常見的內(nèi)內(nèi)聯(lián)(行內(nèi))元素有:<a>、<span>、<img>、<input>、<select>、<textarea>

          2.浮動布局(float)

          特點(diǎn):

          浮動布局依靠【 浮動屬性 float:left/right/... 】來使標(biāo)簽脫離文檔流,達(dá)到兩個塊級元素并排顯示的效果。

          float:left ; 浮動脫離當(dāng)前文檔流浮動。

          同時可以依靠【展示屬性display:inline/block/inline-block】來進(jìn)行行內(nèi)元素和塊級元素的效果切換。從而達(dá)到靈活運(yùn)用塊級元素和行內(nèi)元素布局的效果。

          3.層模型布局又叫定位布局

          特點(diǎn):

          當(dāng)我們應(yīng)擁div布局是,在第一層塊界面上來做第二層塊界面的開發(fā)時,就要用到我們所說的定位布局。

          通過運(yùn)用【定位屬性position:absolute/relative/fixed】 來進(jìn)行第二層界面的定位布局。

          網(wǎng)頁是靜態(tài)的,網(wǎng)頁上的定位

          position:absolute ;絕對定位脫離文檔流,不受浮動影響,就是相對于窗體(body)邊界的margin定位。

          position:relative; 相對定位不脫離文檔流,相對于父級標(biāo)簽元素的位置定位。

          position:fixed;固定位置,不會受任何因素影響。

          滾動條移動前

          滾動條移動后

          優(yōu)先層顯示方法:【屬性:z-index:0/1/2...】

          特點(diǎn): 數(shù)值越大,越優(yōu)先顯示。

          注意:只有元素使用了position屬性的,才具有z-index屬性。


          本文部分內(nèi)容來自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系修改。


          主站蜘蛛池模板: 天码av无码一区二区三区四区| 久久精品一区二区三区资源网| 精品女同一区二区| 任你躁国语自产一区在| 91视频一区二区| 国产内射999视频一区| 日韩精品一区二区三区中文版 | 国产香蕉一区二区在线网站 | 亚洲色无码一区二区三区 | 区三区激情福利综合中文字幕在线一区亚洲视频1| 无码毛片一区二区三区中文字幕| 在线视频一区二区日韩国产| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 无码人妻精品一区二区三区久久| 欲色aV无码一区二区人妻| 国产一区二区视频免费| 国产成人欧美一区二区三区| 国产一区二区三区免费| 一本大道东京热无码一区| 在线精品动漫一区二区无广告| 国产美女精品一区二区三区| 免费无码一区二区三区蜜桃| 好吊视频一区二区三区| 中文字幕在线观看一区| 国产在线一区二区在线视频| 久久久精品日本一区二区三区 | 久久久综合亚洲色一区二区三区| 熟女精品视频一区二区三区| 国99精品无码一区二区三区 | 美日韩一区二区三区| 国产一区二区草草影院| 精品一区二区三区在线播放视频| 国产成人av一区二区三区在线观看 | 久久亚洲色一区二区三区| 一区二区福利视频| 国产vr一区二区在线观看| 中文字幕亚洲乱码熟女一区二区| 韩国美女vip福利一区| 国产福利一区二区三区在线观看| 国产传媒一区二区三区呀| 日本一区二区三区四区视频|