搜尋

首頁  >  問答  >  主體

[前端求職必看]前端開發面試題與答案精選_CSS

CSS

介紹CSS的盒子模型?

(1)有兩種,IE 盒子模型、標準W3C 盒子模型;IE的content部分包含了border 和pading;

(2)盒模型: 內容(content)、填充(padding)、邊界(margin)、 邊框(border).

CSS 選擇符有哪些?哪些屬性可以繼承?優先權演算法如何計算? CSS3新增偽類有那些?

*   1.id選擇器( # myid)
   2.類別選擇器(.myclassname)
   3.標籤選擇器(div, h1, p)
   4.相鄰選擇器(h1 p)
   5.子選擇器(ul < li)
   6.後代選擇器(li a)
   7.通配符選擇器( * )
   8.屬性選擇器(a[rel = "external"])
   9.偽類別選擇器(a: hover, li: nth - child)

*   可繼承的樣式: font-size font-family color , UL LI DL DD DT;

*   不可繼承的樣式:border padding margin width height ;

*   優先權就近原則,同權重情況下樣式定義最近者為準;

*   載入樣式以最後載入的定位為準;

優先權為:

  !important >  id > class > tag  

  !important >  id > class > tag  

  important 比內嵌優先權高

CSS3新增偽類別範例:

p:first-of-type 選擇屬於其父元素的首個<p>元素的每個<p> 元素。
p:last-of-type  選擇屬於其父元素的最後 <p> 元素的每個 <p> 元素。
p:only-of-type  選擇屬於其父元素唯一的 <p> 元素的每個 <p> 元素。
p:only-child    選擇屬於其父元素的唯一子元素的每個 <p> 元素。
p:nth-child(2)  選擇屬於其父元素的第二個子元素的每個 <p> 元素。
:enabled  :disabled 控製表單控制項的停用狀態。

:checked        單選方塊或核取方塊選取。

如何居中div?如何居中一個浮動元素?

為div設定一個寬度,然後新增margin:0 auto屬性

div{
   width:200px;
   margin:0 auto;
# }  

#####居中一個浮動元素###

 確定容器的寬高寬500 高300 的層
 設定層的外邊距

.div {
 Width:500px ; height:300px;//高度可以不設
 Margin: -150px 0 0 -250px;
 position:relative;相對定位
 background-color:pink;//方便看效果
 left:50%;
 top:50%;

}

列出display的值,說明他們的作用。 position的值, relative和absolute定位原點是?


 1.  
 block 象塊類型元素一樣顯示。
 none 預設值。象行內元素類型一樣顯示。
 inline-block 象行內元素一樣顯示,但其內容象塊類型元素一樣顯示。
 list-item 象塊類型元素一樣顯示,並新增樣式清單標記。

 2.
 *absolute
       產生絕對定位的元素,相對於 static 定位以外的第一個父元素進行定位。

 *fixed (舊IE不支援)
       產生絕對定位的元素,相對於瀏覽器視窗進行定位。

 *relative
       產生相對定位的元素,相對於其正常位置進行定位。

 * static  預設值。沒有定位,元素出現在正常的流中
 *(忽略 top, bottom, left, right z-index 宣告)。

 * inherit 規定從父元素繼承 position 屬性的值。

CSS3有哪些新特性?


 CSS3實作圓角(border-radius:8px),陰影(box-shadow:10px),
 對文字加特效(text-shadow、),線性漸變(gradient),旋轉(transform )
 transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉,縮放,定位,傾斜
 增加了更多的CSS選擇器 多背景rgba

一個滿屏品字佈局如何設計?

經常遇到的CSS的兼容性有哪些?原因,解決方法是什麼?

為什麼要初始化CSS樣式。 ###

- 因為瀏覽器的相容問題,不同瀏覽器對有些標籤的預設值是不同的,如果沒有對CSS初始化往往會出現瀏覽器之間的頁面顯示差異。

- 當然,初始化樣式會對SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。

*最簡單的初始化方法就是: * {padding: 0; margin: 0;} (不建議)

#淘寶的樣式初始化:
body, h1, h2, h3 , h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0 ; }
body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; }
h1, h2, h3, h4, h5, h6{ font-size:100 %; }
address, cite, dfn, em, var { font-style:normal; }
code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
small{ font-size:12px; }
ul, ol { list-style:none; }
a { text-decoration:none; }
a:hover { text-decoration:underline; }
# sup { vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
legend { color:#000; }
fieldset, img { border:0; }
button, input, select, textarea { font-size:100%; }
table { border-collapse:collapse; border-spacing:0; }

#absolute的containing block計算方式跟正常流有什麼不同?

position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?

對BFC規範的理解?

(W3C CSS 2.1 規範中的一個概念,它決定了元素如何對其內容進行定位,以及與其他元素的關係和相互作用。)

css定義的權重

以下是權重的規則:標籤的權重為1,class的權重為10,id的權重為100,以下例子是示範各種定義的權重值:

#/*權重為1*/
div{
}
/*權重為10*/
.class1{
}
/*權重為100*/
#id1{
}
/*權重為100 1=101*/
#id1 div{
}
/*權重為10 1=11*/
.class1 div{
}
/*權重為10 10 1=21*/
.class1 .class2 div{
}

如果權重相同,則最後定義的樣式會起作用,但是應該避免這種情況出現

解釋下浮動和它的工作原理?清除浮動的技巧

用過媒體查詢,針對行動端的佈局嗎?

使用 CSS 預處理器嗎?喜歡那個?

SASS


#
天蓬老师天蓬老师2558 天前1870

全部回覆(1)我來回復

  • 2017-11-17 09:14:01

    面試不怕不怕啦

    回覆
    0
  • 取消回覆