歸納篇(一)CSS的position定位和float浮動(dòng)

之前是準(zhǔn)備在博客園寫博客驻谆,然而界面有點(diǎn)過時(shí)陳舊了卵凑,自己寫得也不是很勤快,于是換到簡(jiǎn)書這里來吧胜臊。簡(jiǎn)書支持Markdown勺卢,書寫起來還是很舒服的。最近計(jì)劃持續(xù)更新博客区端,對(duì)基礎(chǔ)知識(shí)再做個(gè)自我梳理值漫。

之前工作里有的不是很復(fù)雜的專題頁面因?yàn)閳D省事,不自覺有點(diǎn)濫用position:absolute;织盼,這是個(gè)不算好的習(xí)慣杨何,于是回過神來再復(fù)習(xí)一遍定位和浮動(dòng)。

position定位

(一)position的屬性
  1. absolute:生成絕對(duì)定位的元素沥邻,相對(duì)于最近一級(jí)定位不是static的父元素來進(jìn)行定位危虱;
  2. relative:生成相對(duì)定位的元素,相對(duì)于其所在普通的文檔流位置進(jìn)行定位唐全;
  3. static:默認(rèn)值埃跷,沒有定位,元素出現(xiàn)在正常的文檔流中;
  4. fixed:老IE不支持邮利,和absolute一致弥雹,相對(duì)于窗口進(jìn)行定位,當(dāng)出現(xiàn)滾動(dòng)條時(shí)延届,不隨著滾動(dòng)而滾動(dòng)剪勿;
  5. sticky:(CSS3)有兼容性問題,它就像是relative和fixed的合體方庭,當(dāng)在屏幕中時(shí)按常規(guī)流排版厕吉,當(dāng)卷動(dòng)到屏幕外時(shí)則表現(xiàn)如fixed。該屬性的表現(xiàn)是現(xiàn)實(shí)中你見到的吸附效果械念。
(二)關(guān)于position使用一般會(huì)引發(fā)的問題
  1. 假如有一個(gè)默認(rèn)100%寬度的div,一旦加上absolute絕對(duì)定位头朱,該元素立馬inline-block化,默認(rèn)寬度就會(huì)自適應(yīng)元素內(nèi)部寬度龄减,會(huì)導(dǎo)致頁面的寬高塌陷项钮。
  2. 由于absolute絕對(duì)定位的靈活性,對(duì)于普通的頁面布局,有時(shí)出于省事的原因很容易造成absolute/relative/top/left/z-index濫用,這樣會(huì)使后期的擴(kuò)展和維護(hù)造成麻煩
(三)position代碼示例
  1. relative相對(duì)定位

      

    對(duì)象2相對(duì)于自身文檔流原來位置移動(dòng)寄纵,并還占據(jù)著文檔流鳖敷,下面的黃色塊繼續(xù)按照它原來的位置往下排列脖苏,relative僅僅是視覺上位置變了程拭。
<style>
body{color: #fff;}
.aa{width: 400px;margin: 0 auto;border: 2px solid #000;height: 400px}
#position1 {height: 100px;background: green;}
#position2 {height: 100px;background: blue;position: relative;top: 10px;left: 50px;}
#position3{height: 100px;background: yellow;color: #000}
</style>
<body>
    <div class="aa"> 
        <div id="position1">對(duì)象1</div> 
        <div id="position2">對(duì)象2</div>
        <div id="position3">對(duì)象3</div>
    </div>
</body>
  1. absolute絕對(duì)定位



    對(duì)象1absolut屬性相對(duì)于父級(jí)div偏移,脫離文檔流棍潘,寬高塌陷恃鞋,在文檔流之上。

<style>
body{color: #fff;}.
aa{width: 400px;margin: 0 auto;border: 2px solid #000;height: 400px;position: relative;}
#position1 {height: 100px;background: green;position: absolute;top: 10px;left:50px; }
#position2 {height: 100px;background: blue;}
#position3{height: 100px;background: yellow;color: #000}
</style>
</head>
<body>
<div class="aa"> 
      <div id="position1">對(duì)象1</div> 
      <div id="position2">對(duì)象2</div>
      <div id="position3">對(duì)象3</div>
</div>

float浮動(dòng)

(一)float的定義

float 屬性定義元素向左/右方向浮動(dòng)亦歉。浮動(dòng)元素會(huì)生成一個(gè)塊級(jí)框恤浪,而不論它本身是何種元素。
float的值:left/right/none

(二)float實(shí)現(xiàn)文字環(huán)繞

帶有浮動(dòng)屬性的元素也可以使元素inline-block化肴楷,具有包裹性水由,使得元素兼并了塊元素和內(nèi)聯(lián)元素的的優(yōu)點(diǎn)。帶有浮動(dòng)屬性的元素會(huì)脫離標(biāo)準(zhǔn)流進(jìn)行排列布局赛蔫,脫離標(biāo)準(zhǔn)流后的浮動(dòng)元素漂浮在正常塊元素上面砂客,但是依然占據(jù)正常文檔流的文本空間,使得后面的文本以除了浮動(dòng)元素之外的空間為排列基準(zhǔn)呵恢,形成了文本環(huán)繞的效果鞠值。

<style>
.a{width: 200px;height: 400px;margin: 0 auto;border: 1px solid #000;}
.pic{float: left;}
p{font-size: 16px;line-height: 18px;font-family: "Microsoft Yahei"}
</style>
<body>
<div class="a"> 
    ![](2.jpg) 
    <p>這是一段測(cè)試文字啦啦啦啦啦這是一段測(cè)試文字啊啊啊啊啊這是一段文字顯示吶吶吶吶這是一段文字顯示啦啦啦啦啦</p>
</div>```

###### (三)float浮動(dòng)布局
![](http://upload-images.jianshu.io/upload_images/4948814-99b897192bdc078a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
標(biāo)準(zhǔn)文檔流從上到下排列。
![](http://upload-images.jianshu.io/upload_images/4948814-22fa4c0b97b203d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
div1向左float后渗钉,很明顯彤恶,高度塌陷,div2和div3和div1重疊鳄橘。

######  (四)為什么要清除浮動(dòng)以及清除浮動(dòng)的幾個(gè)方法
由于浮動(dòng)導(dǎo)致元素**高度塌陷**產(chǎn)生副作用声离,父級(jí)盒子的邊框不能被撐開,背景不能顯示瘫怜,父子級(jí)間的`margin`和`padding`設(shè)置值不能正確被顯示术徊。
![](http://upload-images.jianshu.io/upload_images/4948814-a3adc1f49f3ddf0f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

<style>
.div1{width: 400px;border: 2px solid #000;}
.div2{width: 100px;height: 100px;background: blue;float: left;}
.div3{width: 100px;height: 100px;background: green;float: right;}
</style>
<body>
<div class="div1">
<div class="div2">div2</div>
<div class="div3">div3</div>
</div>


**方法1:**在父級(jí)結(jié)束前,添加一個(gè)子標(biāo)簽`<div style="clear:both;"></div>`

<div class="div1">
<div class="div2">div2</div>
<div class="div3">div3</div>
<div style="clear:both;"></div>
</div>

**方法2:**在父級(jí)css屬性加上入`overflow:hidden;zoom:1;`或者`overflow:auto;zoom:1;`
**方法3:**在父級(jí)用zoom+:after方法宝磨,原理類似于`clear:both`,利用CSS方式`:after`在元素內(nèi)部加一個(gè)`clear:both`的元素塊

.box1{zoom:1;}
.box1:after{display:block; content:'clear'; clear:both; line-height:0; visibility:hidden;}

**方法4:**對(duì)父級(jí)設(shè)置合適的高度直接撐開
###### (五)float和JavaScript 
IE瀏覽器:
`obj.style.styleFloat = "left";`
其他瀏覽器:
`obj.style.cssFloat = "left";`
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弧关,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子唤锉,更是在濱河造成了極大的恐慌世囊,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窿祥,死亡現(xiàn)場(chǎng)離奇詭異株憾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門嗤瞎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墙歪,“玉大人,你說我怎么就攤上這事贝奇『绶疲” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵掉瞳,是天一觀的道長毕源。 經(jīng)常有香客問我,道長陕习,這世上最難降的妖魔是什么霎褐? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮该镣,結(jié)果婚禮上冻璃,老公的妹妹穿的比我還像新娘。我一直安慰自己损合,他們只是感情好省艳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塌忽,像睡著了一般拍埠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上土居,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天枣购,我揣著相機(jī)與錄音,去河邊找鬼擦耀。 笑死棉圈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眷蜓。 我是一名探鬼主播分瘾,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼吁系!你這毒婦竟也來了德召?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤汽纤,失蹤者是張志新(化名)和其女友劉穎上岗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕴坪,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肴掷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年敬锐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呆瞻。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡台夺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痴脾,到底是詐尸還是另有隱情颤介,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布明郭,位于F島的核電站买窟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏薯定。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一瞳购、第九天 我趴在偏房一處隱蔽的房頂上張望话侄。 院中可真熱鬧,春花似錦学赛、人聲如沸年堆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽变丧。三九已至,卻和暖如春绢掰,著一層夾襖步出監(jiān)牢的瞬間痒蓬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工滴劲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攻晒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓班挖,卻偏偏與公主長得像鲁捏,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子萧芙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 一双揪、文檔流的概念指什么动羽?有哪些方式可以讓元素脫離文檔流? 文檔里指元素在文檔中的位置由元素在html里的位置決定,...
    dengpan閱讀 542評(píng)論 0 3
  • 學(xué)習(xí)建議 定位、浮動(dòng)是 CSS 核心知識(shí)點(diǎn),必須熟練掌握羽德。 1.文檔流的概念指什么几莽?有哪種方式可以讓元素脫離文檔流...
    饑人谷_任磊閱讀 1,093評(píng)論 0 3
  • 1.文檔流的概念指什么章蚣?有哪種方式可以讓元素脫離文檔流? 文檔流也叫常規(guī)流,其實(shí)就是文檔的讀取和輸出順序姨夹,也就是我...
    墨月千樓閱讀 716評(píng)論 0 0
  • 從學(xué)校去醫(yī)院的路上纤垂,一頓飯,一場(chǎng)電影磷账,一個(gè)人峭沦,然后是漫長的等待……
    陛罅閱讀 293評(píng)論 0 1
  • 1.1沒有重要數(shù)據(jù) /boot 200M存放系統(tǒng)的引導(dǎo)信息內(nèi)核 swap交換分區(qū)防止內(nèi)存用光了臨時(shí)的一個(gè)內(nèi)存 如果...
    Hoe王666閱讀 267評(píng)論 0 0