#CSS-階段性查缺補漏(1)
1. 瀏覽器字首(無字首屬性總是放在最後)
對於任何新的樣式,最終規範可能與瀏覽器渲染它的方式稍微不同。
-webkit-border-radius: 10px; //蘋果Safari瀏覽器和谷歌的Chrome瀏覽器
-moz-border-radius: 10px; //Firefox瀏覽器
-o-border-radius: 10px; //Opera瀏覽器
border-radius: 10px;
注:Autoprefixer:一個以最好的方式處理瀏覽器字首的後處理程式。
2. IE盒模型
IE8及以上和其他瀏覽器:width和height指的是內容(content);
IE8以下為IE 盒子模型,width和height包括content、padding、border.
3. IE6、7下display:inline-block的相容性
大致描述:IE6、IE7支援對html行內元素設定inline-block。實際上只是看起來支援而已,IE6、IE7並不識別inline-block這個屬性值,只是觸發了layout,讓行內元素有了inline-block的表徵,比如說:行內顯示且可設定寬高等等。
實現塊級元素的inline-block屬性值設定:詳解
div { display:inline-block; _zoom:1;_display:inline;}/*推薦IE6*/ div { display:inline-block; *zoom:1;*display:inline;}/*推薦IE6或IE7*/
下劃線(_)是隻有IE6才能識別,而星號(*)是隻有IE6和IE7可識別,作用就是用於區分不同瀏覽器的。
zoom始終可以觸發layout, 而_display:inline;或者*display:inline;是為了讓元素重新獲得display:inline;的屬性。
4. haslayout是IE7-瀏覽器的特有屬性
有兩種狀態:true或false。當其為true時,代表該元素有自己的佈局,否則代表該元素的佈局繼承於父元素。
CSS屬性
可以觸發hasLayout的有如下CSS屬性:
【1】display:inline-block
【2】height/width:除了auto
【3】float:left/right
【4】position:absolute
【5】writing-mode(IE專有屬性,設定文字的垂直顯示):tb-rl
【6】zoom(IE專有屬性,設定或檢索物件的縮放比例):除了normal
【IE7專有的觸發hasLayout的CSS屬性】
【1】min-height/max-height/min-width/max-width:除none
【2】overflow\overflow-x\overflow-y:除visible
【3】position:fixed
5. em、px、rem
em是相對於應用於當前元素的字型尺寸,而百分比則是相對於父元素的尺寸。
em:如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。我們在寫CSS的時候,需要注意三點:
1. body選擇器中宣告Font-size=62.5%;
2. 將你的原來的px數值除以10,然後換上em作為單位;
3. IE底下,“em”會有一個問題存在。調整字型大小的時候,同樣會打破我們的彈性佈局,需要設定:
html {font-size: 100%}
rem:只是相對HTML根元素大小,(IE8以上,對於不支援它的瀏覽器,就多寫一個絕對單位的宣告)
如果你的使用者群都使用最新版的瀏覽器,那推薦使用rem,如果要考慮相容性,那就使用px,或者兩者同時使用。
如果希望隨著當前元素的字型尺寸em是相對於應用於當前當前元素的字型尺寸;而百分比則是相對於父元素的尺寸。寸而改變尺寸,則使用em最佳,如:行高、字型大小。相反,如果是隨著父容器或者是整體頁面佈局而改變尺寸,則使用%更好,如元素的高度和寬度設定。
6、繼承的樣式權重最小
<div class="box">
<a href="#">層疊</a>
</div>
.box { color: red}
繼承的顏色並不會顯示,因為繼承的樣式權重最小,瀏覽器對a標籤設定了預設樣式,將繼承的樣式層疊了。
7、calc() 函式 (結合媒體查詢,實現響應式佈局)
.box img {
width:calc(100%/4 - 40px);
margin:20px;
float: left;
}
@media (max-width :600px){
.box img {
width:calc(100%/2 - 40px);
}
}
螢幕不小於600px時,最多顯示4張圖片。螢幕小於或等於600px時,一行最多隻能放兩張。8、垂直外邊距合併
判斷兩個margin是否會摺疊,要判斷他們是否滿足以下三個條件:
- 都在普通流中
- 在同一個塊級格式化上下文中
- 沒有被行盒、空隙、內填充、邊框阻斷
9、透明度設定
.alert {
opacity:0.8;
filter:alpha(opacity=80); //相容IE
}
10、浮動float
因為浮動元素脫離文件流,所以包圍的圖片的文字的div不佔據空間。
浮動的特點:1. .item {float: left;} ,則item2 除了文字,其他內容都不可見
2. 行內元素設定浮動後形成一個塊框,因此可以使用width、height、margin和padding
清除浮動:
1、父級元素設定
.parent {
overflow: hidden;
*zoom: 1; //相容IE6、7
}
2、偽類元素清除浮動
選擇符 .clear::after{
content:".";
clear:both;
display:block;
height:0;
overflow:hidden;
visibility:hidden;
}
.clear{zoom:1;} //相容IE6、7
11、BFC(block formating context):塊級格式化上下文
- 特點: 1. 在一個塊級格式化上下文中,塊框會朝著垂直方向一個接一個的排列 2.在一個塊級格式化上下文中,包含裡面的所有元素,但不包含建立了新塊格式化上下文的元素。(結合上一點理解)
- 建立BFC的情況: a. 浮動float不為none; b. position值為absolute、fixed的元素 c. display不為block 的元素 d.overflow不為visible的元素。
12、overflow :hidden; 能清除浮動的原因
不僅對超出的內容進行了處理,而且建立了BFC,使父元素重新自適應了子元素,順便清除了浮動。
13、高度設定百分比的情況 height:100%;
- 父元素在不設定高度的情況下,是自適應子元素的高度的
- 在高度為0或不設定高度的情況下,高度是文字的行高,但是設定了高度則用的是設定的高度而不再是行高
{
height:100px;
line-height:30px;
} 高度為100px
14、行內元素(或display:inline;)
有兩個特點:1. 上下外邊距、width、height不會起作用
2. padding會起作用,但是padding-top、padding-bottom不會佔據位置,而且會把其他元素蓋住。
15. inline和inline-block會引起間距的空格
解決方法:1. 可以給父元素新增font-size:0; 但是文字的內容會消失;
2. 父元素letter-spacing: -5px; 設定合理的值,
3. 直接設定浮動
16、auto
無意義的auto:
- 對於行內元素,左右外邊距設定為auto,其結果為0 (因為行內和行內塊的空間只有自身的那些位置,那些位置都讓高度和寬度佔據,而寬度和高度是根據內容決定的)
相關推薦
#CSS-階段性查缺補漏(1)
1. 瀏覽器字首(無字首屬性總是放在最後) 對於任何新的樣式,最終規範可能與瀏覽器渲染它的方式稍微不同。-webkit-border-radius: 10px; //蘋果Safari瀏覽器和谷歌的Chrome瀏覽器 -moz-border-radius:
JavaScript查缺補漏(1)
<script>標籤 一些老舊的例項可能會在 <script> 標籤中使用 type=”text/javascript”。現在已經不必這樣做了。JavaScript 是所有現代瀏覽器以及 HTML5 中的預設指令碼語言。 cons
遊戲程式設計查缺補漏(1)
1.cocos2d-x中的物件,如果是使用create之內的函式建立的,就得特別注意,如果程式執行過程中突然崩潰掉了,而且涉及到此物件,十有八九是被自動釋放掉了,此時直接檢視該物件建立的那段程式碼,執行下retain就行了。 2.CCNode與CCSprite都可以執行
查缺補漏(2)
結果 endpoint lan 如何 得到 標準差 維基 過程 例子 問題1: 怎麽理解置信區間(Confidence Interval【CI】)? 參考維基百科:https://en.wikipedia.org/wiki/Confidence_interval做出的理解:
java提高篇——基礎查缺補漏(面試)
連結:http://blog.csdn.net/xiaokang123456kao/article/details/54233595 連結失效請複製改連結至位址列 一.java基本資料型別所佔的記憶體大小 在Java中一共有8種基本資料型別,其中有4種整型,2種浮點型別,1種用於表示Uni
Golang查缺補漏(一)
效率 for rem 函數參數 mov printf col .com println Go語言高級編程(Advanced Go Programming) Go語言高級編程(Advanced Go Programming)golang都是傳值,與其他語言不同的是數組作為參數
Android查缺補漏(View篇)--事件分發機制
touch事件 滑動沖突 今天 version schema ttr 步驟 isp win 事件分發機制是Android中非常重要的一個知識點,同時也是難點,相信到目前為止很多Android開發者對事件分發機制並沒有一個非常系統的認識,當然也包括博主個人在內。可能在平時的開
Android查缺補漏(View篇)--布局文件中的“@+id”和“@id”有什麽區別?
新增 布局 parent 直接 使用 margin 移除 控件 Coding Android布局文件中的“@+id”和“@id”有什麽區別? +id表示為控件指定一個id(新增一個id),如: <cn.codingblock.view.customer_view.
Android查缺補漏(IPC篇)-- 進程間通訊基礎知識熱身
內部 eat ack 學習過程 and ... 綁定 his nec 本文作者:CodingBlock 文章鏈接:http://www.cnblogs.com/codingblock/p/8479282.html 在Android中進程間通信是比較難的一部分,同時又非常重要
Android查缺補漏(線程篇)-- AsyncTask的使用及原理詳細分析
catch 返回 rri 理解 ams tee ive lean keyword 本文作者:CodingBlock 文章鏈接:http://www.cnblogs.com/codingblock/p/8515304.html 一、AsyncTask的使用 AsyncT
Android查缺補漏(線程篇)-- IntentService的源碼淺析
per .com 隨著 nds public message 這一 這樣的 系統 本文作者:CodingBlock 文章鏈接:http://www.cnblogs.com/codingblock/p/8975114.html 在Android中有兩個比較容易弄混的概念,Se
HTML和CSS中的居中效果(1)
htm inner height overflow n-1 txt posit splay read HTML和CSS中的居中效果 單行上下左右居中 Html: <div class=”container”></div> CSS:
【pandas】[2] DataFrame 基礎,建立DataFrame和增刪改查基本操作(1)
作者:lianghc 地址:http://blog.csdn.net/zutsoft DataFrame 是pandas最常用的資料結構,類似於資料庫中的表,不過DataFrame不僅僅限制於2維,可以建立多維資料表。DataFrame既有行索引,也有列
css查缺補漏1
css可以寫在哪裡 1.和要裝飾的標籤寫在一起 2.內部樣式表(內嵌式)是寫在head頭部標籤中,並且用style標籤定義 3.外部樣式表(外鏈式) <head><link rel="stylesheet" href="commons.css"></head>
查看進程運行時間(1)
技術 tar 技術分享 運行時間 comm sta grep png 時間 [[email protected]/* */ ~]# ps -eo pid,tty,user,comm,lstart,etime |grep 1897 1897 ?
python的算法:二分法查找(1)
port == 歸類 算法 開始 log spa loop __name__ 1.什麽是二分法查找: 1.從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜素過程結束; 2.如果某一特定元素大於或者小於中間元素,則在數組大於或小於中間元素的那一半中查找,而且跟開始
2017前端面試題之Css篇(1)
margin 沒有 width ati clas 經驗 visible import tom 1 . CSS 屬性是否區分大小寫? 答:不區分。 HTML,CSS都對大小寫不敏感,但為了更好的可讀性和團隊協作一般都小寫,而在XHTML 中元素名稱和屬性是必須小寫的。
zookeeper curator學習(增刪改查)(1)
oid lis edge java catch clas 獲得 data on() 主要參考的是curator,github地址:https://github.com/apache/curator/tree/master/curator-examples。 zookeepe
CSS知識點整理(1):CSS語法,層疊次序,選擇器,其他重要方面。
屬性。 偽類選擇器 css語法 wid cape image 整理 樣式 以及 1. css的全稱 2. CSS的層疊次序:優先級由低到高 ·瀏覽器設置 ·外部樣式表 ·內部樣式表 ·內聯樣式 3. CSS的3種形式,以及每種形式的語法格式 ——註意樣式表的為什麽常
Linux查看日誌方法總結(1)
關鍵字 http grep 定時 abd cab 我們 做的 ext 註:日誌文件為:test.log 1.tail -f test.log 查看當前打印的日誌(平時就知道這方法!打印出的長度有限制。) 以下為網上搜集的: 2.先必須了解兩個最基本的命令: tai