1. 程式人生 > >牛客網HTML/CSS專項練習錯題彙總

牛客網HTML/CSS專項練習錯題彙總

有關瀏覽器的核心判斷

主要分為四類:-o-/-ms-/-moz-/-webkit-
通過js的dom.style.XxxTransition進行相應的校驗判斷:
    var div = document.createElement('div');
    var style = div.style;
    if (style.webkitTransition) {
        return '-webkit-';
    }
    if (style.MozTransition) {
        return '-moz-';
    }
    if (style.oTransition) {
        return
'-o-'; } if (style.msTransition) { return '-ms-'; } return '';
還有一種方式,就是獲取一個dom元素的所有css屬性,然後進行解析獲取對應的核心型別;相比之下,第一種比較簡單;可以參考源文件:http://www.cnblogs.com/snandy/archive/2015/10/02/4848567.html

文字換行的設定需要設定哪兩個屬性?

word=break和white-space
word-break:實現單詞之間的換行與不換行,其屬性值有三個:normal(瀏覽器預設的換行規則)/break-all(允許在單詞內進行換行)/keep-all(只能在半形空格或者連字元處進行換行)
white-space:設定如何處理元素內的空白,有六個屬性值:normal(瀏覽器的預設處理行為)/pre(空白會被保留,類似於html中的pre預文字標籤)/nowrap(文字不會換行,知道遇到br標籤為止)/pre-wrap(保留空白符序列,同時依舊進行正常的換行形式)/pre-line(合併空白符序列,但是保留換行符)/inherit(從父元素中繼承該值)

CSS的樣式的繼承屬性分類

不可繼承的:display、margin、border、padding、background、height、min-height、max- height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、 page-bread-before和unicode-bidi。
所有元素可繼承:visibility和cursor。
內聯元素可繼承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text- decoration、text-transform、direction。
塊狀元素可繼承:text-indent和text-align。
列表元素可繼承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可繼承:border-collapse。
參考文件: http://www.cnblogs.com/thislbq/p/5882105.html

HTML5中用hgroup標籤對網頁或區段section的標題進行組合

<hgroup>
    <h1>hello world</h1>
    <h2>list title</h2》
<hgroup>

假設一個螢幕解析度為1024*768,如何定義一個居中的佔螢幕一般大小的表格

<TABLE ALIGN=”CENTER” WIDTH=”50%”></TABLE>

<TABLE ALIGN=”CENTER” WIDTH=”512″></TABLE>

<DIV ALIGN=”CENTER”><TABLE WIDTH=”512″></TABLE></DIV>

<CENTER><TABLE WIDTH=”50%”></TABLE></CENTER>
不過center標籤在html5之後就不推薦使用了

有關列表的定義

ul -> li 
ol -> li
table ->tr -> td
dl -> dt -> dd
其中dl/dt/dd的形式為:
;dl定義了一個定義列表,dt定義一個術語的名字,dd給出了該術語的描述資訊

CSS樣式屬性的權重值

第一等:style內聯樣式,權值1000;
第二等:id樣式,權值100;
第三等:css類選擇器,權值10;
第四等:比啊齊納元素選擇器,權值為1;
而萬用字元選擇器權值為0;

頁面的reflow渲染與repaint重繪

reflow渲染:對dom元素結構進行渲染;同時他會自動觸發repaint頁面重繪;它會改變自身和所有父元素,這種開銷是非常昂貴的,頁面元素越多,效能的下降會越明顯;
repaint重繪:當進行重繪時,元素的外觀會被改變,不過頁面重繪不會影響dom結構的渲染;
display屬性值會產生reflow和repaint;而visibility元素只會產生repaint而不會產生reflow

css的單位值歸納

主要分為四種:px/em/rem/%
px:相對於長度的絕對值單位,畫素px是相對於螢幕解析度而言的
em:相對於當前物件內的文字的字型尺寸而言,如果當前物件內的文字的字型沒有進行設定,則相對於瀏覽器的預設字型尺寸,任意瀏覽器的預設字型為16px
rem:css3新增的一個單位值,與em的區別在於設定字型時,相對的是html的根元素的字型顏色,這樣就可以只需修改根元素的字型就可以調整所有的單位值了,避免了一些字型大小逐層符合引起的連鎖反應;目前除了IE8及以下版本外的瀏覽器均支援給屬性;
%:百分比的單位值設定,相對於當前元素的父元素的對應屬性的寬度和高度的值進行設定

CSS的盒模型

CSS的盒模型分為margin/border/padding/content,其中padding表示盒子的邊框與內容之間的距離,這部分的內容是透明的,可以作為背景顯示的一部分

HTML5新增的表單屬性

keygen、datalist、output;其中keygen用於提供一種用於驗證使用者的可靠方法;datalist規定輸入框的選項列表;output用於不同型別的輸出