成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

面試BAT,你憑什么說你掌握了CSS

darryrzhong / 3588人閱讀

摘要:控制表單控件的禁用狀態(tài)。老不支持生成絕對定位的元素,相對于瀏覽器窗口進行定位。生成相對定位的元素,相對于其正常位置進行定位。由于浮動框不在文檔的普通流中,所以文檔的普通流的塊框表現(xiàn)得就像浮動框不存在一樣。

介紹

項目已經(jīng)開源:https://github.com/nanhupatar... 歡迎PR

推薦

關(guān)注我們的公眾號

display: none; 與 visibility: hidden; 的區(qū)別

相同: 它們都能讓元素不可見

區(qū)別:

display:none;會讓元素完全從渲染樹中消失,渲染的時候不占據(jù)任何空間;visibility: hidden;不會讓元素從渲染樹消失,渲染師元素繼續(xù)占據(jù)空間,只是內(nèi)容不可見

display: none;是非繼承屬性,子孫節(jié)點消失由于元素從渲染樹消失造成,通過修改子孫節(jié)點屬性無法顯示;visibility:hidden;是繼承屬性,子孫節(jié)點消失由于繼承了 hidden,通過設(shè)置 visibility: visible;可以讓子孫節(jié)點顯式

修改常規(guī)流中元素的 display 通常會造成文檔重排。修改 visibility 屬性只會造成本元素的重繪

讀屏器不會讀取 display: none;元素內(nèi)容;會讀取 visibility: hidden 元素內(nèi)容

css hack 原理及常用 hack

原理:利用不同瀏覽器對 CSS 的支持和解析結(jié)果不一樣編寫針對特定瀏覽器樣式。常見的 hack 有 1)屬性 hack。2)選擇器 hack。3)IE 條件注釋

IE 條件注釋:適用于[IE5, IE9]常見格式如下

選擇器 hack:不同瀏覽器對選擇器的支持不一樣

/***** Selector Hacks ******/

/* IE6 and below */
* html #uno  { color: red }

/* IE7 */
*:first-child+html #dos { color: red }

/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }

/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }

/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }

/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  color: red }

/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { color: red  }
}

/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { color: red  }
}

/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { color: red  }

/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red  }

/* Everything but IE6-8 */
:root *> #quince { color: red  }

/* IE7 */
*+html #dieciocho {  color: red }

/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }

/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }

屬性 hack:不同瀏覽器解析 bug 或方法

/* IE6 */
#once { _color: blue }

/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }

/* Everything but IE6 */
#diecisiete { color/**/: blue }

/* IE6, IE7, IE8 */
#diecinueve { color: blue9; }

/* IE7, IE8 */
#veinte { color/***/: blue9; }

/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */
link 與 @import 的區(qū)別

link 是 HTML 方式, @import 是 CSS 方式

link 最大限度支持并行下載,@import 過多嵌套導(dǎo)致串行下載,出現(xiàn) FOUC

link 可以通過 rel="alternate stylesheet" 指定候選樣式

瀏覽器對 link 支持早于@import ,可以使用 @import 對老瀏覽器隱藏樣式

@import 必須在樣式規(guī)則之前,可以在 css 文件中引用其他文件

總體來說:link 優(yōu)于@import

CSS 有哪些繼承屬性

關(guān)于文字排版的屬性如:

font

word-break

letter-spacing

text-align

text-rendering

word-spacing

white-space

text-indent

text-transform

text-shadow

line-height

color

visibility

cursor

display,float,position 的關(guān)系

如果 display 為 none,那么 position 和 float 都不起作用,這種情況下元素不產(chǎn)生框

否則,如果 position 值為 absolute 或者 fixed,框就是絕對定位的,float 的計算值為 none,display 根據(jù)下面的表格進行調(diào)整

否則,如果 float 不是 none,框是浮動的,display 根據(jù)下表進行調(diào)整

否則,如果元素是根元素,display 根據(jù)下表進行調(diào)整

其他情況下 display 的值為指定值 總結(jié)起來:絕對定位、浮動、根元素都需要調(diào)整 display

外邊距折疊(collapsing margins)

外邊距重疊就是 margin-collapse

相鄰的兩個盒子(可能是兄弟關(guān)系也可能是祖先關(guān)系)的外邊距可以結(jié)合成一個多帶帶的外邊距。 這種合并外邊距的方式被稱為折疊,結(jié)合而成的外邊距稱為折疊外邊距

折疊結(jié)果遵循下列計算規(guī)則:

兩個相鄰的外邊距都是正數(shù)時,折疊結(jié)果是它們兩者之間較大的值

兩個相鄰的外邊距都是負數(shù)時,折疊結(jié)果是兩者絕對值的較大值

兩個外邊距一正一負時,折疊結(jié)果是兩者的相加的和

介紹一下標(biāo)準(zhǔn)的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?

有兩種, IE 盒子模型、W3C 盒子模型;

盒模型: 內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border);

標(biāo)準(zhǔn)(W3C)盒模型:元素寬度 = width + padding + border + margin

怪異(IE)盒模型:元素寬度 = width + margin

區(qū) 別: IE 的 content 部分把 border 和 padding 計算了進去;

標(biāo)準(zhǔn)瀏覽器通過設(shè)置 css3 的 box-sizing: border-box 屬性,觸發(fā)“怪異模式”解析計算寬高

CSS 選擇符有哪些?

id 選擇器( # myid)

類選擇器(.myclassname)

標(biāo)簽選擇器(div, h1, p)

相鄰選擇器(h1 + p)

子選擇器(ul > li)

后代選擇器(li a)

通配符選擇器( * )

屬性選擇器(a[rel = "external"])

偽類選擇器(a:hover, li:nth-child)

CSS3 新增偽類有那些?

p:first-of-type 選擇屬于其父元素的首個

元素的每個

元素。

p:last-of-type 選擇屬于其父元素的最后

元素的每個

元素。

p:only-of-type 選擇屬于其父元素唯一的

元素的每個

元素。

p:only-child 選擇屬于其父元素的唯一子元素的每個

元素。

p:nth-child(2) 選擇屬于其父元素的第二個子元素的每個

元素。

:after 在元素之前添加內(nèi)容,也可以用來做清除浮動。

:before 在元素之后添加內(nèi)容

:enabled 選擇器匹配每個已啟用的元素(大多用在表單元素上)。

:disabled 控制表單控件的禁用狀態(tài)。

:checked 單選框或復(fù)選框被選中

如何居中 div?如何居中一個浮動元素?如何讓絕對定位的 div 居中?

如果需要居中的元素為常規(guī)流中 inline 元素,為父元素設(shè)置 text-align: center;即可實現(xiàn)

如果需要居中的元素為常規(guī)流中 block 元素,1)為元素設(shè)置寬度,2)設(shè)置左右 margin 為 auto。3)IE6 下需在父元素上設(shè)置 text-align: center;,再給子元素恢復(fù)需要的值


    
aaaaaa aaaaaa a a a a a a a a

如果需要居中的元素為浮動元素,1)為元素設(shè)置寬度,2)position: relative;,3)浮動方向偏移量(left 或者 right)設(shè)置為 50%,4)浮動方向上的 margin 設(shè)置為元素寬度一半乘以-1


    
aaaaaa aaaaaa a a a a a a a a

如果需要居中的元素為絕對定位元素,1)為元素設(shè)置寬度,2)偏移量設(shè)置為 50%,3)偏移方向外邊距設(shè)置為元素寬度一半乘以-1


    
aaaaaa aaaaaa a a a a a a a a

如果需要居中的元素為絕對定位元素,1)為元素設(shè)置寬度,2)設(shè)置左右偏移量都為 0,3)設(shè)置左右外邊距都為 auto


    
aaaaaa aaaaaa a a a a a a a a
如何豎直居中一個元素

絕對定位居中

如果居中的是行內(nèi)元素,可以設(shè)置父級 height 與 line-height 相等

設(shè)置 margin/padding 居中

相對位置偏移居中

flex 居中 設(shè)置 align-items:center 即可

display 有哪些值?說明他們的作用

block 象塊類型元素一樣顯示。

none 缺省值。象行內(nèi)元素類型一樣顯示。

inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。

list-item 象塊類型元素一樣顯示,并添加樣式列表標(biāo)記。

table 此元素會作為塊級表格來顯示

inherit 規(guī)定應(yīng)該從父元素繼承 display 屬性的值

position 有哪些值 relative 和 absolute 定位原點是?

absolute 生成絕對定位的元素,相對于值不為 static 的第一個父元素進行定位。

fixed (老 IE 不支持) 生成絕對定位的元素,相對于瀏覽器窗口進行定位。

relative 生成相對定位的元素,相對于其正常位置進行定位。

static 默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right - z-index 聲明)。

inherit 規(guī)定從父元素繼承 position 屬性的值

CSS3 有哪些新特性?

新增選擇器 p:nth-child(n){color: rgba(255, 0, 0, 0.75)}

彈性盒模型 display: flex;

多列布局 column-count: 5;

媒體查詢 @media (max-width: 480px) {.box: {column-count: 1;}}

個性化字體 @font-face{font-family: BorderWeb; src:url(BORDERW0.eot);}

顏色透明度 color: rgba(255, 0, 0, 0.75);

圓角 border-radius: 5px;

漸變 background:linear-gradient(red, green, blue);

陰影 box-shadow:3px 3px 3px rgba(0, 64, 128, 0.3);

倒影 box-reflect: below 2px;

文字裝飾 text-stroke-color: red;

文字溢出 text-overflow:ellipsis;

背景效果 background-size: 100px 100px;

邊框效果 border-image:url(bt_blue.png) 0 10;

平滑過渡 transition: all .3s ease-in .1s;

動畫 @keyframes anim-1 {50% {border-radius: 50%;}} animation: anim-1 1s;

轉(zhuǎn)換

旋轉(zhuǎn) transform: rotate(20deg);

傾斜 transform: skew(150deg, -10deg);

位移 transform: translate(20px, 20px);

縮放 transform: scale(.5);

用純 CSS 創(chuàng)建一個三角形的原理是什么?
// 把上、左、右三條邊隱藏掉(顏色設(shè)為 transparent)
#demo {
  width: 0;
  height: 0;
  border-width: 20px;
  border-style: solid;
  border-color: transparent transparent red transparent;
}
一個滿屏品字布局如何設(shè)計?

簡單的方式:

上面的 div 寬 100%,

下面的兩個 div 分別寬 50%,

然后用 float 或者 inline 使其不換行即可

經(jīng)常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什么,常用 hack 的技巧 ?

png24 位的圖片在 iE6 瀏覽器上出現(xiàn)背景,解決方案是做成 PNG8.

瀏覽器默認(rèn)的 margin 和 padding 不同。解決方案是加一個全局的*{margin:0;padding:0;}來統(tǒng)一

IE 下,可以使用獲取常規(guī)屬性的方法來獲取自定義屬性,也可以使用 getAttribute()獲取自定義屬性;

Firefox 下,只能使用 getAttribute()獲取自定義屬性。解決方法:統(tǒng)一通過 getAttribute()獲取自定義屬性

IE 下,even 對象有 x,y 屬性,但是沒有 pageX,pageY 屬性

Firefox 下,event 對象有 pageX,pageY 屬性,但是沒有 x,y 屬性

li 與 li 之間有看不見的空白間隔是什么原因引起的?有什么解決辦法?(也稱幽靈字符)

行框的排列會受到中間空白(回車空格)等的影響,因為空格也屬于字符,這些空白也會被應(yīng)用樣式,占據(jù)空間,所以會有間隔,把字符大小設(shè)為 0,就沒有空格了

display:inline-block 間隙問題怎么解決?(攜程)

移除空格、使用 margin 負值、使用 font-size:0、letter-spacing、word-spacing

display:inline-block 什么時候會顯示間隙?

相鄰的 inline-block 元素之間有換行或空格分隔的情況下會產(chǎn)生間距

非 inline-block 水平元素設(shè)置為 inline-block 也會有水平間距

可以借助 vertical-align:top; 消除垂直間隙

可以在父級加 font-size:0; 在子元素里設(shè)置需要的字體大小,消除垂直間隙

把 li 標(biāo)簽寫到同一行可以消除垂直間隙,但代碼可讀性差

css 定義的權(quán)重
// 以下是權(quán)重的規(guī)則:標(biāo)簽的權(quán)重為1,class的權(quán)重為10,id的權(quán)重為100,以下/// 例子是演示各種定義的權(quán)重值:

//權(quán)重為1
div{}

//權(quán)重為10
.class1{}

//權(quán)重為100
#id1{}

//權(quán)重為100+1=101
#id1 div{}

//權(quán)重為10+1=11
.class1 div{}

//權(quán)重為10+10+1=21
.class1 .class2 div{}

// 如果權(quán)重相同,則最后定義的樣式會起作用,但是應(yīng)該避免這種情況出現(xiàn)
CSS 優(yōu)先級算法如何計算?

優(yōu)先級就近原則,同權(quán)重情況下樣式定義最近者為準(zhǔn)

載入樣式以最后載入的為準(zhǔn)

優(yōu)先級為: !important > id > class > tag important 比 內(nèi)聯(lián)優(yōu)先級高

談?wù)劯雍颓宄?/b>

浮動的框可以向左或向右移動,直到他的外邊緣碰到包含框或另一個浮動框的邊框為止。由于浮動框不在文檔的普通流中,所以文檔的普通流的塊框表現(xiàn)得就像浮動框不存在一樣。浮動的塊框會漂浮在文檔普通流的塊框上

解決方法

父級 div 定義偽類:after 和 zoom (推薦使用,建議定義公共類,以減少 CSS 代碼)

   .clearfloat:after{
       display:block;
       clear:both;
       content:"";
       visibility:hidden;
       height:0}

   .clearfloat{zoom:1}

在結(jié)尾處添加空 div 標(biāo)簽 clear:both

Left
Right
.left {float:left} .clearfloat{clear:both}

父級 div 定義 height

父級 div 定義 overflow:auto

父級 div 定義 overflow:hidden

父級 div 也一起浮動

父級 div 定義 display:table

結(jié)尾處加 br 標(biāo)簽 clear:both

參考鏈接幾種常用的清除浮動方法

box-sizing 常用的屬性有哪些?分別有什么作用?

box-sizing: content-box; // 默認(rèn)的標(biāo)準(zhǔn)(W3C)盒模型元素效果

box-sizing: border-box; // 觸發(fā)怪異(IE)盒模型元素的效果

box-sizing: inherit; // 繼承父元素 box-sizing 屬性的值

請列舉幾種隱藏元素的方法

visibility: hidden; 這個屬性只是簡單的隱藏某個元素,但是元素占用的空間任然存在

opacity: 0; CSS3 屬性,設(shè)置 0 可以使一個元素完全透明

position: absolute; 設(shè)置一個很大的 left 負值定位,使元素定位在可見區(qū)域之外

display: none; 元素會變得不可見,并且不會再占用文檔的空間。

transform: scale(0); 將一個元素設(shè)置為縮放無限小,元素將不可見,元素原來所在的位置將被保留

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/113982.html

相關(guān)文章

  • 身為程序員寫一百萬行代碼的感覺

    摘要:如果你一個項目寫了一百萬行,那你肯定是參與了一個比較大的項目了。至于真敲了一百萬行低質(zhì)量代碼,聽哥一句話,還是轉(zhuǎn)行吧。 代碼真的是重質(zhì)不重量,質(zhì)量高的代碼,是當(dāng)前代碼界提倡的,當(dāng)然寫出高質(zhì)量的代碼肯定需要一個相當(dāng)高的專業(yè)素養(yǎng),這需要在日常的代碼書寫中逐漸去吸收掌握,誰不是每天都在學(xué)習(xí)呀,目的還不是為了一個,為實現(xiàn)某個功能寫出高質(zhì)量的代碼。 作為程序開發(fā)者,讓我寫一萬行的代碼?!are ...

    Pluser 評論0 收藏0
  • 一篇寫給新手入門PHP的文章

    摘要:如果在學(xué)習(xí)過程中有什么問題可以關(guān)注我公眾號琉憶編程庫給我留言。有興趣可以深入學(xué)習(xí)最后附上學(xué)習(xí)的知識結(jié)構(gòu)圖譜,可以按著下面的這個知識結(jié)構(gòu)圖進行學(xué)習(xí)不一定完整,更多資料,面試題,都可以關(guān)注公眾號琉憶編程庫獲取。 你好,是我——琉憶。PHP程序員面試系列圖書作者。 作為一名PHP開發(fā)者過來人,也是經(jīng)歷了菜鳥到老手的過程,在此給那些想學(xué)PHP的同學(xué)指條路,即使你是轉(zhuǎn)行學(xué)PHP一樣可以學(xué)會PHP...

    Ilikewhite 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<