搜尋
首頁web前端css教學css負外邊距是什麼? css負外邊距的作用(詳解)

本章帶給大家css負外邊距是什麼? css負外邊距的作用(詳解),帶大家看看css負外邊距有什麼作用。有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

負邊距介紹

負邊距的使用如下:

#content {margin-left:-100px;}

負邊距通常在小範圍內使用。但是接下來你會看到,它能做的事情很多。以下是一些你應該知道的關於負邊距的事情:

他們是完全有效的CSS
這不是在跟你開玩笑。 W3C甚至都說,在外邊框中使用負邊距是允許的。

負邊距不是在hack
這是尤其正確的。正是因為沒有很好地了解負邊距才是導致各種奇怪的問題。只有在被用來解決其他地方的bug的時候才是hack

它符合正常的文檔流
當負邊距使用在沒有浮動的元素上時並不會破壞正常的文檔流。所以付過你使用負邊距把元素向上微調的話,所有後面的元素也會向上微調。

它是相當好的兼容性
負邊距基本上被所有現代的瀏覽器支援(IE6的大部分情況也是)

當使用了float之後,會有不同的表現
負邊距不是你平常使用的屬性,所以使用的時候要格外小心。

Dreamweaver不理解它
負邊距不會在DW的設計視窗顯示出效果。那你為什麼還要用DW的設計視窗查看效果呢?與其共事呢?

負邊距如果可以正確的使用的話它的功能是很強大的。有兩種場景負邊距是很重要的。

在static元素中使用負邊距:

css負外邊距是什麼? css負外邊距的作用(詳解)

#一個static元素是沒有使用過float的元素。上面的圖片顯示了一個static的元素使用負邊距之後的情況。

當一個static元素在top/left使用負邊距時,它把元素朝這個特定的方向拉,例如

/* Moves the element 10px upwards */
#mydiv1 {margin-top:-10px;}

但是當你將負邊距設定為相對bottom/ right時,它並不會把元素向下或右拉,相反,它會把後面的元素往裡面拉,從而覆蓋自己。

/*
所有在#mydiv1后面的元素都会向上
移动10px,而#mydiv1一点都不会移动
*/#mydiv1{margin-bottom:-10px;}

如果寬度沒有設置,左右負邊距會把元素往兩個方向拉以增加寬度。這裡margin的作用相當於padding
在浮動中使用負邊距

加入下面就是我們的html程式碼:

<div id="mydiv1">First</div>
<div id="mydiv2">Second</div>

如果對一個浮動的元素使用負邊距,它會產生一個空白,其他元素可以覆蓋這一部分。這個技巧可以很好地用戶流式佈局。例如有一列寬度100%,另一列有固定的寬度,比如說100px。

#mydiv1 {float:left; margin-right:-100px;}

如果兩個元素都使用了左浮動並且設定margin-right:-20px。 #mydiv2會把#mydiv1看成寬度縮小20px(所以會覆蓋一部分),但是有趣的是#mydiv1並不會有任何變化,而是仍然保持原先的寬度。
如果負邊距和寬度一樣大的話,它就會被完全覆蓋掉。因為外邊距,內邊距,邊框和內容加起來等於元素的寬度。如果負外邊距等於元素的寬度的話,那麼該元素的寬度就會變成0px。
學以致用

既然我們知道使用負邊距在CSS2中是有效的,使用它可以給我們提供一些非常有趣的CSS技巧

把單一清單變成三列

如果你有一個清單垂直方向太長了,為什麼不把它分成幾列呢?負邊距可以讓你在不增加任何浮動和標籤的情況下完成。你會發現用負邊距實現這個是多麼地簡單,就像下面:

HTML:

<ul>
<li class="col1">Eggs</li>
<li class="col1">Ham<li>
<li class="col2 top">Bread<li>
<li class="col2">Butter<li>
<li class="col3 top">Flour<li>
<li class="col3">Cream</li>
</ul>

CSS

ul {list-style:none;}
li {line-height:1.3em;}
.col2 {margin-left:100px;}
.col3 {margin-left:200px;}
.top {margin-top:-2.6em;} /* the clincher */

透過對.top的新增margin-top :-2.6em。所有的元素會完美的對齊好。使用負邊距會比使用相對定位好很多,因為你只需要給新的一列的第一個元素添加負邊距。

重疊來強調

css負外邊距是什麼? css負外邊距的作用(詳解)

故意重疊元素也是一個很好地設計隱喻。重疊效果可以增強深度感從而為突顯特定元素。一個很好地例子就像上圖一樣,透過重疊來吸引註意力。只需要使用z-index屬性和一點小創意你就可以做到。

驚豔的3D文字效果

css負外邊距是什麼? css負外邊距的作用(詳解)

#

这是一个精致的技巧。通过使用两个视图的两种颜色创建safari一样有点倾斜的效果。然后通过负边距来把其中一个叠加到另一个上面,保持1到2像素的偏移。这样你就可以二道可选的,机器友好的倾斜字体。就不需要浪费很多贷款来加载大的图片来实现这个效果啦

简单的两列布局

负边距也是在流式布局中创建简单一列宽度固定,一列内容为宽度的100%的两列布局的好方法。

HTML

<div id="content"> <p>Main content in here</p> </div>
<div id="sidebar"> <p>I’m the Sidebar! </p> </div>

CSS

#content {width:100%; float:left; margin-right:-200px;}
#sidebar {width:200px; float:left;}

哈哈,这样你就得到了一个简单的两列布局。它也能在IE6完美的渲染出来。现在为了让#sidebar不要被#content给掩盖,只要简单的加上:

/* Prevent text from being overlapped */
#content p {margin-right:210px;}
/* It’s 200px + 10px, the 10px being an additional margin.*/

当适当的使用的时候,负外边距能够提供一个灵活的文档结构,完爆table的布局。灵活的文档布局是一种可访问性和SEO的技巧,通过它能够让你根据你的关注点以任意顺序组织你的html代码。这里有一个文章讨论了负边距在多列布局中的应用。

微调元素

这是负外边距最常也是最简单的使用方式。假如你把第十个div插入到9个其他的div中,不知道什么原因没有正确的排列,使用负边距来调整这个div就不需要改变其他9个div了,很方便。

解决bug

文本和链接问题

在float中使用负边距可能会在旧的浏览器造成一些问题,比如下面的这些:

让链接不可点击
文本变得很难选择
失去焦点的时候按tab键失效

解决方法:只要添加position:relative,就可以啦。

图片被剪切啦

如果你运气不好刚好在办公室使用IE6,当遇到覆盖和浮动的时候内容有些时候回突然被剪切掉。

解决方法:同样的只要给浮动元素加上position:relative,所有的问题就解决啦。

结论

负外边距能够在不使用任何额外标签的情况下定位元素让它在现在网页设计中占有一席之地。随着更多的用户使用更新的浏览器(包括IE8),未来使用这些技巧的网站会变得更加有前景。

以上是css負外邊距是什麼? css負外邊距的作用(詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
我們如何標記Google字體並創建Goofonts.com我們如何標記Google字體並創建Goofonts.comApr 12, 2025 pm 12:02 PM

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

永恆的Web開發文章永恆的Web開發文章Apr 12, 2025 am 11:44 AM

Pavithra Kodmad向人們詢問了他們認為是關於網絡開發的一些最永恆的文章的建議

與部分元素的交易與部分元素的交易Apr 12, 2025 am 11:39 AM

同一天發表了兩篇文章:

使用JavaScript API練習GraphQl查詢使用JavaScript API練習GraphQl查詢Apr 12, 2025 am 11:33 AM

學習如何構建GraphQL API可能具有挑戰性。但是您可以學習如何在10分鐘內使用GraphQL API!碰巧的是,我得到了完美的

組件級CMS組件級CMSApr 12, 2025 am 11:09 AM

當一個組件生活在數據查詢居住在附近的數據查詢的環境中時,視覺組件和

將類型設置在圓上...帶偏移路徑將類型設置在圓上...帶偏移路徑Apr 12, 2025 am 11:00 AM

這裡是Yuanchuan的一些合法CSS騙局。有此CSS屬性偏移路徑。曾幾何時,它被稱為Motion-Path,然後被更名。我

'恢復”在CSS中有什麼作用?'恢復”在CSS中有什麼作用?Apr 12, 2025 am 10:59 AM

Miriam Suzanne在Mozilla開發人員的視頻中解釋了該主題。

現代戀人現代戀人Apr 12, 2025 am 10:58 AM

我喜歡這樣的東西。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。