不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦——學(xué)設(shè)計(jì)>網(wǎng)頁(yè)設(shè)計(jì)>網(wǎng)站建設(shè)>網(wǎng)站前端技術(shù)>

CSS元素如何了解定位方法_CSS元素定位有什么方法

時(shí)間: 宇民40 分享

  CSS有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。下面由學(xué)習(xí)啦小編為大家整理的CSS元素定位方法,希望大家喜歡!

  CSS元素定位方法

  盒子屬性分三組:

  邊框(border)。可以設(shè)置邊框的寬窄、樣式和顏色。

  內(nèi)邊距(padding)。可以設(shè)置盒子內(nèi)容區(qū)與邊框的間距。

  外邊距(margin)。可以設(shè)置盒子與相鄰元素的間距。

  可以這么理解盒子屬性:外邊距是邊框向 外推 其他元素,而內(nèi)邊距是從邊框向 內(nèi)推 元素的內(nèi)容。

  CSS 為邊框、內(nèi)邊距和外邊距分別規(guī)定了簡(jiǎn)寫屬性。在每個(gè)簡(jiǎn)寫聲明中,屬性值的順序都是上、右、下、左(順時(shí)針旋轉(zhuǎn))。

  示例:margin:5px 10px 12px 8px;

  注意:4 個(gè)值之間有空格,但不能是其他分隔符(比如逗號(hào)之類的)。甚至,你都不用把 4 值

  全都寫出來(lái)——如果哪個(gè)值沒有寫,那就使用對(duì)邊的值。

  示例:margin:12px 10px 6px;

  說(shuō)明:缺少最后一個(gè)值(左邊),使用對(duì)邊(右邊)的值(10px),即:margin:12px 10px 6px 10px。

  示例:margin:12px 10px;

  說(shuō)明:缺少最后兩個(gè)值(下邊和左邊),使用上邊(12px)和右邊(10px),即:margin:12px 10px 12px 10px;

  示例:margin:12px;

  說(shuō)明:只寫一個(gè)值,那么4個(gè)邊都去這個(gè)值。即:margin:12px 12px 12px 12px;

  1.1 盒子邊框

  邊框(border)有3個(gè)相關(guān)屬性:

  寬度

  可以使用 thin、medium 和 thick 等文本值,也可以使用

  除百分比和負(fù)值之外的任何絕對(duì)值。

  樣式

  有 none、hidden、 dotted、 dashed、 solid、 double、 groove、

  ridge、 inset 和 outset 等文本值。

  顏色

  可以使用任意顏色值,包括 RGB、 HSL、十六進(jìn)制顏色 值和顏色關(guān)鍵字。

  1.2 盒子內(nèi)邊距

  內(nèi)邊距(padding)用來(lái)設(shè)置盒子內(nèi)容區(qū)與邊框的間距。在沒有設(shè)定內(nèi)邊距的情況下,內(nèi)容會(huì)緊挨著邊框。

  1.3 盒子外邊距

  外邊距(margin)用來(lái)設(shè)置盒子與相鄰元素的間距。

  推薦使用這條規(guī)則作為樣式表的第一條規(guī)則:* {margin:0; padding:0;}

  說(shuō)明:這條規(guī)則把所有元素默認(rèn)的外邊距和內(nèi)邊距都設(shè)定為零。把這條規(guī)則放到樣式表里后,所有默認(rèn)的外邊距和內(nèi)邊距都會(huì)消失。然后,你可以為那些真正需要外邊距的元素再添加外邊距。不同瀏覽器默認(rèn)的內(nèi)邊距和外邊距也不一樣,特別是對(duì)表單和列表等復(fù)合元素。在這種情況下,用這條規(guī)則 中和 默認(rèn)值,然后再根據(jù)需要添加,則會(huì)在各瀏覽器上獲得一致的效果。

  1.4 疊加外邊距

  垂直方向上的外邊距會(huì)疊加,這可是你必須得知道的一件事。

  In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can combine to form a single margin. Margins that combine this way are said to collapse, and the resulting combined margin is called a collapsed margin.

  在CSS中,兩個(gè)或多個(gè)毗鄰(父子元素或兄弟元素)的普通流中的塊元素垂直方向上的 margin 會(huì)發(fā)生疊加。這種方式形成的外邊距即可稱為外邊距疊加(collapsed margin)。

  1.5 外邊距的單位

  根據(jù)經(jīng)驗(yàn),為文本元素設(shè)置外邊距時(shí)通常需要混合使用不同的單位。比如說(shuō),一個(gè)段落的左、右外邊距可以使用像素,以便該段文本始終與包含元素邊界保持固定間距,不受字號(hào)變大或變小的影響。而對(duì)于上、下外邊距,以 em 為單位則可以讓段間距隨字號(hào)變化而相應(yīng)增大或縮小。

  示例:

  CSS Code復(fù)制內(nèi)容到剪貼板

  p {font-size:1em; margin:.75em 30px;}

  2.浮動(dòng)與清除

  浮動(dòng)和清除是用來(lái)組織頁(yè)面布局的一柄利劍,這柄劍的劍刃就是 float 和 clear 屬性。

  2.1 浮動(dòng)

  浮動(dòng),可以想象把元素從常規(guī)文檔流中拿出來(lái)。浮動(dòng)元素脫離了常規(guī)文檔流之后,原來(lái)緊跟其后的元素就會(huì)在空間允許的情況下,向上提升到與浮動(dòng)元素平起平坐。

  如果浮動(dòng)元素后面有兩個(gè)段落,而你只想讓第一段與浮動(dòng)元素并列(就算旁邊還能放第二段,也不想讓它上來(lái)),可以使用 clear 屬性來(lái) 清除 第二段,然后它就會(huì)乖乖地呆在浮動(dòng)元素下面了。

  浮動(dòng) 最常見的作用:

  實(shí)現(xiàn)傳統(tǒng)出版物上那種文字繞排圖片的效果

  讓原來(lái)上下堆疊的塊級(jí)元素,變成左右并列,從而實(shí)現(xiàn)布局中的分欄。

  2.2 圍住浮動(dòng)元素的三種方法

  注意:三種方法各有利弊,看情況使用。

  方法一:為父元素添加 overflow:hidden

  方法二:同時(shí)浮動(dòng)元素

  方法三:添加非浮動(dòng)的清除元素

  3.定位

  CSS 布局的核心是 position 屬性,對(duì)元素盒子應(yīng)用這個(gè)屬性,可以相對(duì)于它在常規(guī)文檔流中的位置重新定位。 position 屬性有 4 個(gè)值: static、 relative、 absolute、fixed,默認(rèn)值為 static。

  3.1 靜態(tài)定位

  static

  在靜態(tài)定位的情況下,每個(gè)元素都處于常規(guī)文檔流中。要突破這種布局元素的方式,就必須把盒子的 position 屬性改為其它三個(gè)值。

  3.2 相對(duì)定位

  relative

  相對(duì)定位,相對(duì)的是它原來(lái)在文檔流中的位置(或者默認(rèn)位置)。設(shè)置之后,可以使用 top、right、bottom 和 left 屬性來(lái)改變它的位置。多數(shù)情況下,只用 top 和 left 就可以實(shí)現(xiàn)我們想要的效果。

  使用相對(duì)定位的關(guān)鍵就是要考慮到元素原來(lái)的空間。因?yàn)槭褂昧讼鄬?duì)定位的元素只是相對(duì)于原始位置挪動(dòng)了一下,頁(yè)面沒有任何變化,即元素原來(lái)占據(jù)的空間沒有動(dòng),其他元素也沒動(dòng)。

  3.3 絕對(duì)定位

  absolute

  絕對(duì)定位會(huì)把元素徹底從文檔流中拿出來(lái),然后相對(duì)于其他元素(默認(rèn)是定位上下文 body)定位。同樣可以通過(guò) top 和 left 設(shè)定偏移值來(lái)決定位置。

  3.4 固定定位

  fixed

  從完全移出文檔流的角度說(shuō),固定定位與絕對(duì)定位類似。但不同之處在于,固定定位元素的定位上下文是視口(瀏覽器窗口或手持設(shè)備的屏幕),因此它不會(huì)隨頁(yè)面滾動(dòng)而移動(dòng)。

  提示:固定定位并不常用,最常見的情況是用它創(chuàng)建不隨頁(yè)面滾動(dòng)而移動(dòng)的導(dǎo)航元素。

  3.5 定位上下文

  定位上下文,指的是定位元素所相對(duì)偏移的元素。

  事實(shí)上,只要把元素的外邊距和內(nèi)邊距設(shè)定好,多數(shù)情況下只用靜態(tài)定位就足以實(shí)現(xiàn)頁(yè)面布局了。很多剛開始接觸 CSS 的初學(xué)者都會(huì)錯(cuò)誤地設(shè)定 position 屬性,最終才發(fā)現(xiàn)從文檔流中挪出來(lái)的這些元素一點(diǎn)也不好控制。因此,除非真需要那么做,否則 不要輕易修改元素默認(rèn)的 position 屬性。

  CSS網(wǎng)頁(yè)渲染的方法

  1、十六進(jìn)制的顏色值對(duì)位數(shù)與大小寫

  編寫十六進(jìn)制顏色值時(shí)你可能會(huì)用小寫字母或省略成3位數(shù),關(guān)于這寫法沒找到確實(shí)的數(shù)據(jù)證明對(duì)瀏覽器的渲染效率是否有影響,但十六進(jìn)制的顏色值默認(rèn)標(biāo)準(zhǔn)是大寫及6位數(shù)標(biāo)注。在未知情況下不希望冒險(xiǎn)而降低了渲染的效率。

  * 不贊成 - color:#f3a;

  * 建議用 - color:#FF33AA;

  2、display與visibility的差異

  他們用于設(shè)置或檢索是否顯示對(duì)象。display隱藏對(duì)象不保留物理空間,visibility為隱藏對(duì)象保留占據(jù)的物理空間。當(dāng)瀏覽器渲染被占據(jù)的物理空間時(shí),會(huì)有所消耗資源。

  * 不贊成 - visibility:hidden;

  * 建議用 - display:none;

  3、border:none;與border:0;的區(qū)別

  和display與visibility的關(guān)系類似,分別不保留與保留空間。更多的是border:0;盡管可以隱藏掉邊框,但它會(huì)為你保留border-color/border-style的使用權(quán)。

  * 不贊成 - border:0;

  * 建議用 - border:none;

  4、不宜用過(guò)小的背景圖片平鋪

  一張寬高1px的背景圖片,雖然文件體積非常之小,但渲染寬高500px的板塊需要重復(fù)平鋪2500次。提高背景圖片渲染效率跟圖片尺寸及體積有關(guān),最大的圖片文件體積保持約70KB。

  * 不贊成 - 寬高8px以下的平鋪背景圖片

  * 建議用 - 衡量適中體積及尺寸的背景圖片

  5、慎用IE濾鏡

  IE的濾鏡除了比較消耗資源外也有兼容性問(wèn)題。當(dāng)中有讓PNG透明的濾鏡,可采用GIF或JPG似透非透的辦法來(lái)避免使用此濾鏡。建議只在IE6應(yīng)用GIF透明,因?yàn)镮E7以上已經(jīng)支持了PNG透明。

  * 不贊成,濫用IE濾鏡因?yàn)橄馁Y源外也有兼容性問(wèn)題。

  * 建議用,最好選擇其它方法能避免使用濾鏡。

  6、*{ margin:0; padding:0;}避免瀏覽器樣式差異

  *號(hào)通配符把所有標(biāo)簽都初始化一遍,瀏覽器的渲染消耗一定的資源。有部分在標(biāo)簽在不同瀏覽器上幾乎無(wú)差異,或是某些已經(jīng)不推薦使用的標(biāo)簽(因?yàn)槟悴粫?huì)去用它),它們不需通配符要重新初始化一遍這樣做能節(jié)省一點(diǎn)資源。

  * 不贊成,使用*號(hào)通配符

  * 不贊成,div span button b table等標(biāo)簽納入通配符控制內(nèi)外填充樣式

  * 建議用,有選擇性地使用通配符控制內(nèi)外填充樣式。

  7、不要添加額外的標(biāo)簽來(lái)描述class或id

  如果你有一個(gè)選擇器是以id作為關(guān)鍵選擇符,請(qǐng)不要添加多余標(biāo)簽名上去。因?yàn)镮D是唯一的,你不要為了一個(gè)不存在的理由而降低了匹配的效率。

  * 不贊成 - button#backButton { }

  * 不贊成 - .menu-left #newMenuIcon { }

  * 建議用 - #backButton { }

  * 建議用 - #newMenuIcon { }

  8、盡量選擇最特殊的類來(lái)存放選擇器

  降低系統(tǒng)效率的一個(gè)最大原因是我們?cè)跇?biāo)簽類中用了過(guò)多的選擇符。通過(guò)添加 class 到元素,我們可以將類別進(jìn)行再細(xì)分為 class 類,這樣就不用為了一個(gè)標(biāo)簽浪費(fèi)時(shí)間去匹配過(guò)多的選擇符了。

  * 不贊成 - treeitem[mailfolder="true"] > treerow > treecell { }

  * 建議用 - .treecell-mailfolder { }

  9、避免子孫選擇符

  子孫選擇符是CSS中最耗資源的選擇符。他真的是非常的耗資源,尤其是在選擇器使用標(biāo)簽類或通用類的時(shí)候。很多情況中,我們真正想要的是子選擇符。除非有明確說(shuō)明,在 UI CSS 中是嚴(yán)禁使用子孫選擇符的。

  * 不贊成 - treehead treerow treecell { }

  * 好一點(diǎn),但還是不行(參照下一條) - treehead > treerow > treecell { }

  10、標(biāo)簽類中不要包含子選擇符

  不要在標(biāo)簽類中使用子選擇符。否則,每次元素的出現(xiàn),都會(huì)額外地增加匹配時(shí)間。(特別是當(dāng)選擇器似乎多半會(huì)被匹配的情況下)

  * 不贊成 - treehead > treerow > treecell { }

  * 建議用 - .treecell-header { }

  CSS如何實(shí)現(xiàn)文字豎排

  1. writing-mode(設(shè)置對(duì)象書寫方向)

  語(yǔ)法:writing-mode : lr-tb、tb-rl

  參數(shù):lr-tb:從左向右,從上往下  tb-rl:從上往下,從右向左

  示例:

  CSS Code復(fù)制內(nèi)容到剪貼板

  div { writing-mode: tb-rl; }

  2. text-align(設(shè)置對(duì)象中文本的對(duì)齊方式)

  語(yǔ)法:text-align : left、right、center、justify

  參數(shù):left:左對(duì)齊

  right:右對(duì)齊

  center:居中

  justify:兩端對(duì)齊

  示例:

  CSS Code復(fù)制內(nèi)容到剪貼板

  div { text-align : center; }

  而通常普通的排版思路:對(duì)文字對(duì)象寬度設(shè)置只能排下一個(gè)文字的寬度距離,讓文字一行排不下兩個(gè)文字使其文字自動(dòng)換行,就形成了豎立排版需求。

CSS元素如何了解定位方法_CSS元素定位有什么方法

CSS有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。下面由學(xué)習(xí)啦小編為大家整理的CSS元素定位方法,希望大家喜歡! CSS元素定位方法 盒子屬性分三組: 邊框(border)??梢栽O(shè)置邊框的寬窄、樣式和顏色。 內(nèi)邊距(padding)。可以設(shè)置盒子內(nèi)容區(qū)與邊框的間距。
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

26817