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

資訊專欄INFORMATION COLUMN

【css】常見問題

renweihub / 2362人閱讀

摘要:將元素顯示為內(nèi)聯(lián)元素,元素前后沒有換行符。我們知道內(nèi)聯(lián)元素是無(wú)法設(shè)置寬高的,所以一旦將元素的屬性設(shè)為,設(shè)置屬性和是沒有用的。這個(gè)屬性值融合了和的特性,即是它既是內(nèi)聯(lián)元素,又可以設(shè)置和。

CSS 中 inline 元素可以設(shè)置 padding 和 margin 嗎?

行內(nèi)元素設(shè)置width,height無(wú)效。但是設(shè)置margin和padding是有效的。
行內(nèi)非替換元素的外邊距不會(huì)改變一個(gè)元素的行高


div, form, table, header, aside, section, article, figure, figcaption, h1~h6, nav, p, pre, blockqoute, canvas, ol, ul, dl


span, a, img, label, input, select, textarea, br, i, em, strong, small, button, sub, sup, code
CSS box-sizing 的值有哪些?

允許您以特定的方式定義匹配某個(gè)區(qū)域的特定元素。
box-sizing: content-box|border-box|inherit;
一般在做自適應(yīng)的網(wǎng)頁(yè)設(shè)計(jì)的時(shí)候用,用這個(gè)屬性網(wǎng)頁(yè)結(jié)構(gòu)才不會(huì)被破壞。
常用的值:
content-box,border和padding不計(jì)算入width之內(nèi)
padding-box,padding計(jì)算入width內(nèi)
border-box,border和padding計(jì)算入width之內(nèi),其實(shí)就是怪異模式了~
兼容性
-webkit-box-sizing: 100px; // for ios-safari, android
-moz-box-sizing:100px; //for ff
box-sizing:100px; //for other

CSS BFC 原理?

BFC(block formatting context)塊級(jí)格式化上下文。是一個(gè)html盒子,里面的元素左對(duì)齊
定義:
float的值不為none
position的值不為static或者relative
display的值為 table-cell, table-caption, inline-block, flex, 或者 inline-flex中的其中一個(gè)
overflow的值不為visible

毗鄰塊盒子的垂直外邊距折疊只有他們是在同一BFC時(shí)才會(huì)發(fā)生。如果他們屬于不同的BFC,他們之間的外邊距將不會(huì)折疊
BFC的作用
1、 清除內(nèi)部浮動(dòng)
我們?cè)诓季謺r(shí)經(jīng)常會(huì)遇到這個(gè)問題:對(duì)子元素設(shè)置浮動(dòng)后,父元素會(huì)發(fā)生高度塌陷,也就是父元素的高度變?yōu)?。解決這個(gè)問題,只需要把把父元素變成一個(gè)BFC就行了。常用的辦法是給父元素設(shè)置overflow:hidden。
2、 垂直margin合并
在CSS當(dāng)中,相鄰的兩個(gè)盒子的外邊距可以結(jié)合成一個(gè)多帶帶的外邊距。這種合并外邊距的方式被稱為折疊,并且因而所結(jié)合成的外邊距稱為折疊外邊距。
折疊的結(jié)果:
兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩者之間較大的值。
兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí),折疊結(jié)果是兩者絕對(duì)值的較大值。
兩個(gè)外邊距一正一負(fù)時(shí),折疊結(jié)果是兩者的相加的和。
這個(gè)同樣可以利用BFC解決。關(guān)于原理在前文已經(jīng)講過了。
3、 創(chuàng)建自適應(yīng)兩欄布局
在很多網(wǎng)站中,我們??吹竭@樣的一種結(jié)構(gòu),左圖片+右文字的兩欄結(jié)構(gòu)。
在圖片和文字的樣式中都加入overflow:hidden使他變?yōu)閴K級(jí)格式化上下文。
(我對(duì)BFC的理解)[https://www.jianshu.com/p/764...]

HTML5 和 CSS3 新特性?

html5:語(yǔ)義化標(biāo)簽;增強(qiáng)型表單;視頻和音頻;canvas;svg繪圖;地理定位;拖放api;webworker;storage(sessionStorage和localStorage);webSocket;
HTML5的十大新特性
css3:
(1) CSS3實(shí)現(xiàn)圓角(border-radius),陰影(box-shadow),邊框圖片border-image

(2) 對(duì)文字加特效(text-shadow、),強(qiáng)制文本換行(word-wrap),線性漸變(linear-gradient)

(3)旋轉(zhuǎn),縮放,定位,傾斜:transform:rotate(90deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);

(4) 增加了更多的CSS選擇器、多背景、rgba();

(5)在CSS3中唯一引入的偽元素是 ::selection ;

(6) 媒體查詢(@media),多欄布局(flex)

CSS 清除浮動(dòng)的方法?

也就是防止元素高度塌陷
1、父元素變?yōu)锽FC塊級(jí)格式化上下文overflow:hidden;
缺點(diǎn):元素溢出無(wú)法控制顯示,不要用
2、clear:{

clear:both;

}
3、偽元素after和before,clear:both
IE6-7不支持:after,使用 zoom:1觸發(fā) hasLayout


鑒于 IE/Mac的市場(chǎng)占有率極低,我們直接忽略掉,最后精簡(jiǎn)的代碼如下:

.clearfix:after {
    content:"."; 
    display:block; 
    height:0; 
    visibility:hidden; 
    clear:both; 
    }
.clearfix { 
    *zoom:1; 
    }

1) display:block 使生成的元素以塊級(jí)元素顯示,占滿剩余空間;
2) height:0 避免生成內(nèi)容破壞原有布局的高度。
3) visibility:hidden 使生成的內(nèi)容不可見,并允許可能被生成內(nèi)容蓋住的內(nèi)容可以進(jìn)行點(diǎn)擊和交互;
4)通過 content:"."生成內(nèi)容作為最后一個(gè)元素,至于content里面是點(diǎn)還是其他都是可以的,,有些版本可能content 里面內(nèi)容為空,不推薦這樣做的,firefox直到7.0 content:”" 仍然會(huì)產(chǎn)生額外的空隙;after在元素之后插入content的內(nèi)容。
5)zoom:1 觸發(fā)IE hasLayout。
通過分析發(fā)現(xiàn),除了clear:both用來(lái)閉合浮動(dòng)的,其他代碼無(wú)非都是為了隱藏掉content生成的內(nèi)容,這也就是其他版本的閉合浮動(dòng)為什么會(huì)有font-size:0,line-height:0。

CSS 實(shí)現(xiàn)左右垂直居中的方法?

CSS水平垂直居中常見方法總結(jié)
1、元素在文檔流里是緊密布局的,不能直接使用top left直接移動(dòng)元素,容易造成混亂。
使用position:relative;元素在文檔流中位置不浮動(dòng)來(lái)改變?cè)氐木又小?/p>

content{
    margin-top:-50% of height;<--偽代碼-->
    position:relative;
    top:50%;<--或者使用transform:translateY(50%);-->
}

2、彈性布局flex

body {
    display: flex;
    align-items: center; /*定義body的元素垂直居中*/
    justify-content: center; /*定義body的里的元素水平居中*/
}
.content {
    width: 300px;
    height: 300px;
    background: orange;        
}

3、將父容器設(shè)置為display:table
然后將子元素也就是要垂直居中顯示的元素設(shè)置為 display:table-cell 。
但是,這是不值得推薦的,因?yàn)闀?huì)破壞整體的布局

用過哪種 CSS 預(yù)處理器,簡(jiǎn)單介紹一下?

談?wù)凜SS預(yù)處理器
目前最主流的CSS預(yù)處理器是LESS、SASS和Stylus

介紹幾種 CSS 偽類?

添加一些選擇器的特殊效果。
格式是:選擇器:偽類
after 元素后插入內(nèi)容
before 元素之前插入內(nèi)容
empty 元素內(nèi)空的子元素

6、 CSS 選擇器優(yōu)先級(jí)?

精華帖CSS選擇器優(yōu)先級(jí)總結(jié)
id > 類選擇器 > 標(biāo)簽選擇器>

使用過的 CSS 布局方式?

圣杯布局、雙飛翼布局、Flex布局和絕對(duì)定位布局

CSS display 屬性的值及作用?

display 屬性規(guī)定元素應(yīng)該生成的框的類型。
其中常用的的有none、inline、block、inline-block。分別的意思是:
1) none: 元素不會(huì)顯示,而且改元素現(xiàn)實(shí)的空間也不會(huì)保留。但有另外一個(gè) visibility: hidden, 是保留元素的空間的。
2) inline: display的默認(rèn)屬性。將元素顯示為內(nèi)聯(lián)元素,元素前后沒有換行符。我們知道內(nèi)聯(lián)元素是無(wú)法設(shè)置寬高的,所以一旦將元素的display 屬性設(shè)為 inline, 設(shè)置屬性height和width是沒有用的。此時(shí)影響它的高度一般是內(nèi)部元素的高度(font-size)和padding。
3) block: 將元素將顯示為塊級(jí)元素,元素前后會(huì)帶有換行符。設(shè)置為block后,元素可以設(shè)置width和height了。元素獨(dú)占一行。
4) inline-block:行內(nèi)塊元素。這個(gè)屬性值融合了inline 和 block 的特性,即是它既是內(nèi)聯(lián)元素,又可以設(shè)置width和height。

CSS單位 rem 和 em 的區(qū)別?

px是固定的像素,一旦設(shè)置了就無(wú)法因?yàn)檫m應(yīng)頁(yè)面大小而改變。
em和rem相對(duì)于px更具有靈活性,他們是相對(duì)長(zhǎng)度單位,意思是長(zhǎng)度不是定死了的,更適用于響應(yīng)式布局。
對(duì)于em和rem的區(qū)別一句話概括:em相對(duì)于父元素,rem相對(duì)于根元素。

標(biāo)準(zhǔn)盒子模型和css盒子模型的區(qū)別。

(1)有兩種, IE 盒子模型、W3C 盒子模型;
(2)盒模型: 內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border);
(3)區(qū) 別: IE的content部分把 border 和 padding計(jì)算了進(jìn)去;

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

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

相關(guān)文章

  • 關(guān)于CSS Reset 那些事(四)之 構(gòu)架CSS基礎(chǔ)樣式庫(kù)

    摘要:現(xiàn)在回到我們這一章節(jié)的標(biāo)題,將它做下補(bǔ)充關(guān)于那些事四之基于構(gòu)架基礎(chǔ)樣式庫(kù)基礎(chǔ)庫(kù)構(gòu)思為什么要做基礎(chǔ)庫(kù)我上一章節(jié)的末尾拋出了幾個(gè)問題假設(shè)你要做一個(gè)游戲單頁(yè)面,網(wǎng)頁(yè)上并不存在表單內(nèi)容,那么你就要移除一些冗余的代碼,開始自定義樣式來(lái)滿足自己的需求。 前言 先來(lái)回顧一下前幾章節(jié),我們都說了哪些內(nèi)容: CSS Reset 歷史 與 Normalize.css 介紹 Normalize.css...

    mj 評(píng)論0 收藏0
  • 關(guān)于CSS Reset 那些事(四)之 構(gòu)架CSS基礎(chǔ)樣式庫(kù)

    摘要:現(xiàn)在回到我們這一章節(jié)的標(biāo)題,將它做下補(bǔ)充關(guān)于那些事四之基于構(gòu)架基礎(chǔ)樣式庫(kù)基礎(chǔ)庫(kù)構(gòu)思為什么要做基礎(chǔ)庫(kù)我上一章節(jié)的末尾拋出了幾個(gè)問題假設(shè)你要做一個(gè)游戲單頁(yè)面,網(wǎng)頁(yè)上并不存在表單內(nèi)容,那么你就要移除一些冗余的代碼,開始自定義樣式來(lái)滿足自己的需求。 前言 先來(lái)回顧一下前幾章節(jié),我們都說了哪些內(nèi)容: CSS Reset 歷史 與 Normalize.css 介紹 Normalize.css...

    Yu_Huang 評(píng)論0 收藏0
  • CSS Modules詳解及React中實(shí)踐

    摘要:上例中打印的結(jié)果是對(duì)中的名都做了處理,使用對(duì)象來(lái)保存原和混淆后的對(duì)應(yīng)關(guān)系。結(jié)合實(shí)踐在處直接使用中名即可。如因?yàn)橹粫?huì)轉(zhuǎn)變類選擇器,所以這里的屬性選擇器不需要添加。 showImg(http://gtms01.alicdn.com/tps/i1/TB15w0HLpXXXXbdaXXXjhvsIVXX-600-364.png); CSS 是前端領(lǐng)域中進(jìn)化最慢的一塊。由于 ES2015/201...

    wemall 評(píng)論0 收藏0
  • 關(guān)于CSS Reset 那些事(一)之 歷史演變與Normalize.css

    摘要:下面開始對(duì)進(jìn)行簡(jiǎn)單的介紹,關(guān)于兩者的差異區(qū)別可以看問答平臺(tái)使用遇到的問題和有什么本質(zhì)區(qū)別沒簡(jiǎn)單介紹關(guān)于對(duì)的介紹,這里引用咀嚼之味針對(duì)官方介紹翻譯的的中文版本。目前已經(jīng)成為了的替代方案是無(wú)可爭(zhēng)議的事情了。 前言 近期在翻閱陳舊的歷史資料,整理之前飽受爭(zhēng)議的CSS Reset問題,不過好像十多年過去,現(xiàn)在大家統(tǒng)一了口徑,紛紛推薦使用Normalize.css,包括Bootstrap都進(jìn)行...

    idealcn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

renweihub

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<