負(fù)值之美:負(fù)margin在頁面布局中的應(yīng)用

負(fù)值之美:負(fù)margin在頁面布局中的應(yīng)用
論壇討論網(wǎng)址:http://bbs.blueidea.com/thread-2956530-1-1.html

本文轉(zhuǎn)載自:http://www.topcss.org/?p=94搏嗡,有修改跺嗽。
  負(fù)數(shù)給人總是一種消極比然、否定、拒絕之感软免,不過有時(shí)利用負(fù)margin可以達(dá)到奇妙的效果宫纬,今天就表一表負(fù)值在頁面布局中的應(yīng)用。這里說的負(fù)值主要指的是負(fù)margin膏萧。
  關(guān)于負(fù)margin的原理建議大家看看這篇文章:http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812
  本文不講原理漓骚,主要展示幾個(gè)應(yīng)用。
一榛泛、左右列固定蝌蹂,中間列自適應(yīng)布局
  此例適用于左右欄寬度固定,中間欄寬度自適應(yīng)的布局曹锨。由于網(wǎng)頁的主體部分一般在中間孤个,很多網(wǎng)頁都需要中間列優(yōu)先加載,而這種布局剛好滿足此需求沛简。
  HTML:

<div class="main"> 
    <div class="main_body">Main</div> 
</div> 
<div class="left">Left</div> 
<div class="right">Right</div>

CSS:

 body{ margin:0; padding:0; min-width:600px; } 
.main{ float:left; width:100%; } 
.main_body{ margin:0 210px; background:#888; height:200px; } 
.left,.right{ float:left; width:200px; height:200px; background:#F60; } 
.left{ margin-left:-100%; } 
.right{ margin-left:-200px; }

效果:



二齐鲤、去除列表右邊框
  項(xiàng)目中經(jīng)常會使用浮動(dòng)列表展示信息,為了美觀通常為每個(gè)列表之間設(shè)置一定的間距(margin-right),當(dāng)父元素的寬度固定式椒楣,每一行的最右端的li元素的右邊距就多余了给郊,去除的方法通常是為最右端的li添加class,設(shè)置*margin-right:0; *這種方法需要?jiǎng)討B(tài)判斷為哪些li元素添加class捧灰,麻煩O拧!凤壁!利用負(fù)margin就可以實(shí)現(xiàn)下面這種效果:
  HTML:

<div id="test"> 
<ul> 
    <li>子元素1</li> <li>子元素2</li> <li>子元素3</li> <li>子元素4</li> <li>子元素5</li> <li>子元素6</li> 
</ul> 
</div>

CSS:

body,ul,li{ padding:0; margin:0;} ul,li{ list-style:none;} 
#test{ width:320px; height:210px; background:#CCC; } 
#test ul{ margin-right:-10px; zoom:1; } 
#test ul li{ width:100px; height:100px; background:#F60; margin-right:10px; margin-bottom:10px; float:left; }

效果:



三吩屹、負(fù)邊距+定位:水平垂直居中
  使用絕對定位將div定位到body的中心,然后使用負(fù)margin(content寬高的一半)拧抖,將div的中心拉回到body的中心煤搜,已到達(dá)水平垂直居中的效果。
  HTML:

<div id="test"></div>

CSS:

 body{margin:0;padding:0;} 
#test{ width:200px; height:200px; background:#F60; position:absolute; left:50%; top:50%; margin-left:-100px; margin-top:-100px; }

效果:



四唧席、去除列表最后一個(gè)li元素的border-bottom
  列表中我們經(jīng)常會添加border-bottom值擦盾,最后一個(gè)li的border-bottom往往會與外邊框重合,視覺上不雅觀淌哟,往往要移除迹卢。
  HTML:

<ul id="test">
   <li>Test</li> <li>Test</li> <li>Test</li> <li>Test</li> <li>Test</li> 
</ul>

CSS:

 body,ul,li{margin:0;padding:0;} ul,li{list-style:none;} 
#test{ margin:20px; width:390px; background:#F4F8FC; border-radius:3px; border:2px solid #D7E2EC; } 
#test li{ height:25px; line-height:25px; padding:5px; border-bottom:1px dotted #D5D5D5; margin-bottom:-1px; }

效果:



五、多列等高
  此例關(guān)鍵是給每個(gè)框設(shè)置大的底部內(nèi)邊距徒仓,然后用數(shù)值相似的負(fù)外邊距消除這個(gè)高度腐碱。這會導(dǎo)致每一列溢出容器元素,如果把外包容器的overflow屬性設(shè)為hidden,列就在最高點(diǎn)被裁切症见。
  HTML:

<div id="wrap">
    <div id="left"> 
      <p style="height:50px">style="height:50px"</p> 
    </div> 
    <div id="center"> 
      <p style="height:100px">style="height:100px"</p> 
    </div> 
    <div id="right"> 
      <p style="height:200px">style="height:200px"</p> 
    </div> 
</div>

CSS:

 body,p{ margin:0; padding:0; }
 #wrap{ overflow:hidden; width:580px; margin:0 auto; }
 #left,#center,#right{ margin-bottom:-200px; padding-bottom:200px; }
 #left { float:left; width:140px; background:#777; } 
#center { float:left; width:300px; background:#888; } 
#right { float:right; width:140px; background:#999; } 
p {color:#FFF;text-align:center}

效果:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末喂走,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谋作,更是在濱河造成了極大的恐慌芋肠,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遵蚜,死亡現(xiàn)場離奇詭異帖池,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吭净,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門睡汹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人攒钳,你說我怎么就攤上這事帮孔。” “怎么了不撑?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵文兢,是天一觀的道長。 經(jīng)常有香客問我焕檬,道長姆坚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任实愚,我火速辦了婚禮兼呵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腊敲。我一直安慰自己击喂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布碰辅。 她就那樣靜靜地躺著懂昂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪没宾。 梳的紋絲不亂的頭發(fā)上凌彬,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音循衰,去河邊找鬼铲敛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛会钝,可吹牛的內(nèi)容都是我干的伐蒋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼先鱼!你這毒婦竟也來了徒蟆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤型型,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后全蝶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闹蒜,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年抑淫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绷落。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡始苇,死狀恐怖砌烁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情催式,我是刑警寧澤函喉,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站荣月,受9級特大地震影響管呵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哺窄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一捐下、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萌业,春花似錦坷襟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晶框,卻和暖如春排抬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背授段。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工蹲蒲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侵贵。 一個(gè)月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓届搁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子卡睦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案宴胧? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評論 1 92
  • 目錄 背景 margin負(fù)值的原理2.1 基于參考線的原理圖2.2 實(shí)際demo2.2.1 margin-left...
    流云家的夢溪閱讀 948評論 0 1
  • [TOC] 前幾天去了一家公司面試前端,問了我雙飛翼的布局表锻,說實(shí)話恕齐,之前真沒好好研究過實(shí)現(xiàn)原理。面試回來瞬逊,查了下显歧,...
    琦樂無窮閱讀 38,073評論 13 80
  • 最近在學(xué)習(xí)flex布局,在贊嘆其便捷性的同時(shí)确镊,回想起之前使用css2的時(shí)候?qū)崿F(xiàn)等高或者等寬布局的麻煩士骤。同時(shí)也看到[...
    小胖子嘿嘿嘿閱讀 899評論 0 3
  • 江西玉山縣有所水南寺,是一處古剎蕾域。里邊住著位老僧叫月印拷肌,六十多歲了,終日在室內(nèi)誦經(jīng)旨巷,足不出戶巨缘,戒行頗高。老和尚養(yǎng)了...
    夜夢千秋閱讀 470評論 0 1