CSS的一些整理(面試向)

CSS3有哪些新特性?

  1. RGBA和透明度;
  2. background-image background-origin(content-box/padding-box/border-box) background-size background-repeat;
  3. word-wrap(對(duì)長(zhǎng)的不可分割單詞換行)word-wrap:break-word;
  4. 文字陰影:text-shadow: 5px 5px 5px #FF0000;(水平陰影,垂直陰影,模糊距離,陰影顏色);
  5. font-face屬性:定義自己的字體;
  6. 圓角(邊框半徑):border-radius 屬性用于創(chuàng)建圓角;
  7. 邊框圖片:border-image: url(border.png) 30 30 round;
  8. 盒陰影:box-shadow: 10px 10px 5px #888888;
  9. 媒體查詢:定義兩套css,當(dāng)瀏覽器的尺寸變化時(shí)會(huì)采用不同的屬性;

請(qǐng)解釋一下CSS3的flexbox(彈性盒布局模型),以及適用場(chǎng)景?

該布局模型的目的是提供一種更加高效的方式來(lái)對(duì)容器中的條目進(jìn)行布局、對(duì)齊和分配空間。在傳統(tǒng)的布局方式中,block 布局是把塊在垂直方向從上到下依次排列的;而 inline 布局則是在水平方向來(lái)排列。彈性盒布局并沒有這樣內(nèi)在的方向限制,可以由開發(fā)人員自由操作。
試用場(chǎng)景:彈性布局適合于移動(dòng)前端開發(fā),在Android和ios上也完美支持。

用純CSS創(chuàng)建一個(gè)三角形的原理是什么?

利用邊框樣式設(shè)計(jì)的;

height: 0;
border-top: 40px solid transparent;
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #ff0000;

一個(gè)滿屏品字布局如何設(shè)計(jì)?

第一種真正的品字:

  1. 三塊高寬是確定的;
  2. 上面那塊用margin: 0 auto;居中;
  3. 下面兩塊用float或者inline-block不換行;
  4. 用margin調(diào)整位置使他們居中。

第二種全屏的品字布局:
上面的div設(shè)置成100%,下面的div分別寬50%,然后使用float或者inline使其不換行。

上下margin重合的問題

在重合元素外包裹一層容器,并觸發(fā)該容器生成一個(gè)BFC。
例子 :

<div class="aside"></div>
<div class="text">
    <div class="main"></div>
</div>
<!--下面是css代碼-->
 .aside {
            margin-bottom: 100px;  
            width: 100px;
            height: 150px;
            background: #f66;
        }
        .main {
            margin-top: 100px;
            height: 200px;
            background: #fcc;
        }
         .text{
            /*盒子main的外面包一個(gè)div,通過改變此div的屬性使兩個(gè)盒子分屬于兩個(gè)不同的BFC,以此來(lái)阻止margin重疊*/
            overflow: hidden;  //此時(shí)已經(jīng)觸發(fā)了BFC屬性。
        }

設(shè)置元素浮動(dòng)后,該元素的display值是多少?

通過媒體查詢可以為不同大小和尺寸的媒體定義不同的css,適應(yīng)相應(yīng)的設(shè)備的顯示。

  1. <head>里邊
    <link rel="stylesheet" type="text/css" href="xxx.css" media="only screen and (max-device-width:480px)">
  2. CSS : @media only screen and (max-device-width:480px) {/css樣式/}

CSS優(yōu)化、提高性能的方法有哪些?

  1. 避免過度約束;
  2. 避免后代選擇符;
  3. 避免鏈?zhǔn)竭x擇符;
  4. 使用緊湊的語(yǔ)法;
  5. 避免不必要的命名空間;
  6. 避免不必要的重復(fù);
  7. 最好使用表示語(yǔ)義的名字。一個(gè)好的類名應(yīng)該是描述他是什么而不是像什么;
  8. 避免!important,可以選擇其他選擇器;
  9. 盡可能的精簡(jiǎn)規(guī)則,可以合并不同類里的重復(fù)規(guī)則;

全屏滾動(dòng)的原理是什么?用到了CSS的哪些屬性?

  1. 原理:有點(diǎn)類似于輪播,整體的元素一直排列下去,假設(shè)有5個(gè)需要展示的全屏頁(yè)面,那么高度是500%,只是展示100%,剩下的可以通過transform進(jìn)行y軸定位,也可以通過margin-top實(shí)現(xiàn);

  2. overflow:hidden; transition:all 1000ms ease;

讓頁(yè)面里的字體變清晰,變細(xì)用CSS怎么做?

-webkit-font-smoothing在window系統(tǒng)下沒有起作用,但是在IOS設(shè)備上起作用-webkit-font-smoothing:antialiased是最佳的,灰度平滑。

如果需要手動(dòng)寫動(dòng)畫,你認(rèn)為最小時(shí)間間隔是多久,為什么?

多數(shù)顯示器默認(rèn)頻率是60Hz,即1秒刷新60次,所以理論上最小間隔為1/60*1000ms = 16.7ms。

CSS選擇器有哪些?哪些屬性可以繼承?

CSS選擇符:id選擇器(#myid)、類選擇器(.myclassname)、標(biāo)簽選擇器(div, h1, p)、相鄰選擇器(h1 + p)、子選擇器(ul > li)、后代選擇器(li a)、通配符選擇器(*)、屬性選擇器(a[rel="external"])、偽類選擇器(a:hover, li:nth-child)

可繼承的屬性:font-size, font-family, color

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

優(yōu)先級(jí)(就近原則):!important > [ id > class > tag ]
!important 比內(nèi)聯(lián)優(yōu)先級(jí)高 ;

CSS優(yōu)先級(jí)算法如何計(jì)算?

元素選擇符: 1
class選擇符: 10
id選擇符:100
元素標(biāo)簽:1000

  1. !important聲明的樣式優(yōu)先級(jí)最高,如果沖突再進(jìn)行計(jì)算。
  2. 如果優(yōu)先級(jí)相同,則選擇最后出現(xiàn)的樣式。
  3. 繼承得到的樣式的優(yōu)先級(jí)最低。

CSS3新增偽類有那些?

p:first-of-type 選擇屬于其父元素的首個(gè)元素
p:last-of-type 選擇屬于其父元素的最后元素
p:only-of-type 選擇屬于其父元素唯一的元素
p:only-child 選擇屬于其父元素的唯一子元素
p:nth-child(2) 選擇屬于其父元素的第二個(gè)子元素
:enabled :disabled 表單控件的禁用狀態(tài)。
:checked 單選框或復(fù)選框被選中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 說說你對(duì)閉包的理解 使用閉包主要是為了設(shè)計(jì)私有的方法和變量。閉包的優(yōu)點(diǎn)是可以避免全局變量的污染,缺點(diǎn)是閉包會(huì)常駐內(nèi)...
    friendshi洛初Udo邭閱讀 410評(píng)論 0 0
  • CSS 1、介紹一下標(biāo)準(zhǔn)的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有兩種,IE盒子模型、W3C...
    京程一燈閱讀 1,787評(píng)論 3 26
  • 1.box-sizing屬性? 用來(lái)控制元素的盒子模型的解析模式,默認(rèn)為content-box 可應(yīng)用于淘寶商品的...
    你今天喝牛奶了嗎閱讀 399評(píng)論 0 2
  • 原文鏈接 1 、介紹一下標(biāo)準(zhǔn)的CSS的盒子模型?與低版本IE的盒子模型有什么不同的? 標(biāo)準(zhǔn)盒子模型:寬度=內(nèi)容的寬...
    炎奕閱讀 339評(píng)論 0 0
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無(wú)數(shù)的可能。 ...
    yichen大刀閱讀 7,572評(píng)論 0 4

友情鏈接更多精彩內(nèi)容