1. 程式人生 > >CSS 中將margin設定為負值的原理和應用

CSS 中將margin設定為負值的原理和應用

現如今,負margin技術的應用可謂越來越廣,任一個大型站點驚鴻一瞥之下都會有其身影所在。個人認為負margin技術是學習css路上必不可缺少的課題之一,許多高階應用及疑難雜症修復都可以使用負margin技術進行實現。

負margin理論:

在說明什麼是負margin之前,你得清楚margin是個啥麼玩意,如果還不清楚可以先閱讀本人的前一篇文章《不要告訴我你懂margin》,預補下知識,回頭再讀這篇文章,相信倆篇文章都能給你帶來不少的收穫。

為了形象、易懂的解釋負margin,我們將引入W3C上沒有的參考線的說法。何謂參考線?參考線就是 margin移動的基準點,此基準點相對於box(自身)是靜止的。而margin的數值,就是box相對於參考線的位移量。

一個完整的margin屬性是這麼寫的margin: top right bottom left;(eg: margin:10px 20px 30px 40px)。在margin屬性中一共有兩類參考線,top和left的參考線屬於一類,right和bottom的參考線屬於另一類。top和left是以外元素為參考,right和bottom是以元素本身為參考。margin的位移方向是指margin數值為正值時候的情形,如果是負值則位移方向相反。

margin參考線示意圖

上面段文字和圖片或許挺難理解,我們來看實際程式碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Margin參考線舉例說明</title> <style type="text/css"> *{margin:0; padding:0;} .wrap{width:400px; border:5px solid #aaa;} .example{width:200px; height:200px; background:#CCCCFF;}
.normal{width:200px; height:200px; background:#CCE8CF;} /* 新增或者註釋掉下面的margin屬性,檢視前後差別 .example{margin:-10px 20px -30px 40px;} */ </style> </head> <body> <div class="wrap"> <div class="example">example元素:margin參考線舉例說明文字,請檢視此元素由於margin的變化所移動的位移量。</div> <div class="normal">一個普通的Box</div> </div> </body> </html

相關推薦

CSS 中將margin設定負值原理應用

現如今,負margin技術的應用可謂越來越廣,任一個大型站點驚鴻一瞥之下都會有其身影所在。個人認為負margin技術是學習css路上必不可缺少的課題之一,許多高階應用及疑難雜症修復都可以使用負margin技術進行實現。 負margin理論: 在說明什麼是負

C/C++網路程式設計在windowslinux中將socket設定阻塞非阻塞

C/C++網路程式設計在windows和linux中將socket設定為阻塞和非阻塞              在 socket程式設計中,對於socket的讀寫預設都是阻塞的,但有的情況我們需要將其設定為非阻塞,比如做多

margin負值

右移 移動 文檔流 www. log nbsp image 方法 定位元素 引用地址:http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812 http://www.cnblogs.com/jsc

ubuntu16.04中將python3設定預設+永久去除Ubuntu16.04報錯

直接執行這兩個命令: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /u

ubuntu16.04中將python3設定預設

直接執行這兩個命令即可:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /us

內部Fragment設定public staticcheckReleaseBuilds false與abortOnError false

在維護一個老專案的時候,發現以前的Activity裡邊有一個內部Fragment繼承自DIalogFragment,但是這個內部Fragment沒有public和static修飾,Android Studio 智慧地發現了這個問題並給出了錯誤。雖然給出了錯誤提示,但是An

CSS基礎 —— 惡補zoom:1的原理應用

zoom的作用是設定或檢索物件的縮放比例。 設定body的zoom屬性,可以實現網頁縮小為原來的一半。 body { zoom: 0.5 } 設定zoom:1可以在低版本IE下觸發IE瀏覽器的haslayout,用於清除浮動,解決margin導致的重疊等問題

R語言統計分析技術研究——嶺回歸技術的原理應用

gts 根據 誤差 med 分享 jce not -c rt4 嶺回歸技術的原理和應用

基於數值分析思想對多項式求值的原理應用進行探究

數值分析 use com 相加 emp 要花 class RoCE size 摘要:多項式是由多個單項(符號項如:5x或者常數項4)通過四則運算組合起來的式子,如P(x)=2x^4+3x^3-3x^2+5x-1 一般的求解會將特定的x代入到上式中,一個一個的計算,共需要

JAVA RMI分布式原理應用

讀取 create host 實現邏輯 傳遞 not 綁定 per args RMI(Remote Method Invocation)是JAVA早期版本(JDK 1.1)提供的分布式應用解決方案,它作為重要的API被廣泛的應用在EJB中。隨著互聯網應用的發展,分布式

Alluxio原理應用場景隨筆

    上週末有幸參加了Alluxio(之前也叫Tachyon),七牛雲和示說網舉辦的Alluxio上海Meetup,之前我並沒有在真實應用場景中使用過Alluxio,對其適用的應用場景一直報懷疑態度。自信聆聽其創始人的演講之後,感覺這個專案還挺有意思,對Alluxio簡單總結一下:

iOS 編譯過程的原理應用

來源:黃文臣  blog.csdn.net/hello_hwc/article/details/53557308 前言 一般可以將程式語言分為兩種,編譯語言和直譯式語言。 像C++,Objective C都是編譯語言。編譯語言在執行

視訊影象的超解析度技術原理應用場景

前言 影象和視訊通常包含著大量的視覺資訊,且視覺資訊本身具有直觀高效的描述能力,所以隨著資訊科技的高速發展,影象和視訊的應用逐漸遍佈人類社會的各個領域。近些年來,在計算機 影象處理、計算機視覺和機器學習等 領域中,來自工業界和學術界的許多學者和專家都持續關注著視訊影象的超解析度技術這個基

貝葉斯分類器原理應用

利用 sklearn 貝葉斯分類器對 IRIS 資料集分類 貝葉斯分類的基本思想一言以蔽之“將樣本歸為其後驗概率最大的那個類”。 具體原理參考: http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-clas

bcrypt加密演算法原理應用

Question剛開始接觸這種加密方式,而又對加密原理不瞭解時,很容易產生這種疑問❔:    對一個密碼,bcryptjs每次生成的hash都不一樣,那麼它是如何進行校驗的?Basic verification    雖然對同一個密碼,每次生成的ha

ThreadLocal原理應用

什麼是ThreadLocal? ThreadLocal一般稱為執行緒本地變數,它是一種特殊的執行緒繫結機制,將變數和執行緒繫結在一起,為每一個執行緒維護一個獨立的變數副本,通過ThreadLocal可以將物件的可見範圍限制在同一個執行緒內,從而不會與其他執行緒副本衝突。 說白了就是解決對

【Python】with及上下文管理器的原理應用

這篇部落格主要總結with用法,自定義上下文管理器,以及__exit__的引數相關內容。 with 語句是 Pyhton 提供的一種簡化語法,適用於對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的“清理”操作,釋放資源,with 語句主要是為了簡化程式碼操

全面剖析Redis Cluster原理應用

        Redis3以上版本叢集方式,使用Ruby解本命令完成叢集、主從配置。前段時間配置redis主從時在配置哨兵模式時卡死了,主要是用YUM安裝的redis導致sentinel.conf配置失敗。現在使用Redis Cluster可以完美解決問題了,並且支援Jed

ThreadLocal 的實現原理應用場景

一、ThreadLocal 是什麼 ThreadLocal 是一個執行緒內部的資料儲存類,通過它可以在指定的執行緒中儲存資料,資料儲存以後,只有在指定執行緒中可以獲取到儲存的資料,對於其他執行緒來說則無法獲取到資料 可以理解成執行緒本地變數或執行緒本地儲存,Th

CDN與智慧DNS原理應用---筆記

    之前在小公司的時候,沒用過CDN。簡單來說就是將一些靜態資源放在CDN裡面,這樣使用者訪問的速度會快很多。今天來了解下什麼叫CDN吧。相信在開發人員中,這些知識都必須要了解的。(不然怎樣挑戰更高的工資呢?)   一、什麼叫CDN呢? -----》