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

資訊專(zhuān)欄INFORMATION COLUMN

前端基礎(chǔ)之CSS(1)

caohaoyu / 1306人閱讀

摘要:而使用預(yù)處理器,提供缺失的樣式層復(fù)用機(jī)制減少冗余代碼,提高樣式代碼的可維護(hù)性。所以我們?cè)趯?shí)際項(xiàng)目中衡量預(yù)編譯方案時(shí),還是得想想,比起帶來(lái)的額外維護(hù)開(kāi)銷(xiāo),預(yù)處理器有沒(méi)有解決更大的麻煩。

1.css3的新特性有哪些

(1)CSS3選擇器(基本、屬性、偽類(lèi)具體見(jiàn)下)
(2)CSS3邊框與圓角

     圓角border-radius  
     屬性:border-top-left-radius 左上角 border-top-right-radius
     右上角 border-bottom-right-radius 右下角 border-bottom-left-radius 左下角

(3)CSS3背景與漸變

 可以設(shè)置多個(gè)背景圖片,圖片大小,位置

線性漸變
background: linear-gradient(direction, color-stop1, color-stop2, ...);
direction也可以換成edge
徑向漸變
background: radial-gradient(center, shape size, start-color, ..., last-color);

(4)CSS3過(guò)渡


(5)CSS3變換
2D變換

3D變換
兼容性了解一下


(6)CSS3動(dòng)畫(huà)
在style中給動(dòng)畫(huà)一個(gè)名字,就是規(guī)定動(dòng)畫(huà),使用@keyframes

這篇文章寫(xiě)的比較有條理,看完可以知道大概,但是每個(gè)特性具體如何使用,還需要再找資料深入的看

2.垂直居中

margin:auto的垂直居中,需配合position:absolute一起使用,因?yàn)閙argin:auto不識(shí)別上下,只識(shí)別左右

translate的垂直居中移動(dòng)-50%,也需要position定位,因?yàn)橐鶕?jù)坐標(biāo)

這篇文章總結(jié)的很好,沒(méi)錯(cuò)沒(méi)錯(cuò),就是我寫(xiě)的啦o(////▽////)q,湊表要臉

3.flex

一方面是在父容器的幾個(gè)屬性,另一些就是子元素的屬性
容器:

    flex-direction                 子元素排列方向
    flex-wrap                      如果一條軸線排不下,如何換行
    flex-flow                      flex-direction屬性和flex-wrap屬性的簡(jiǎn)寫(xiě)形式
    justify-content                在主軸上的對(duì)齊方式
    align-items                    在交叉軸上如何對(duì)齊
    align-content                  多根軸線的對(duì)齊方式

設(shè)置在具體的每一項(xiàng)上:

    order             排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0
    flex-grow         項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大
    flex-shrink       縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小
    flex-basis        在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)
    flex              flex-grow, flex-shrink 和 flex-basis的簡(jiǎn)寫(xiě),默認(rèn)值為0 1 auto
    align-self        允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋align-items屬性

菜鳥(niǎo)教程上的就寫(xiě)很好,簡(jiǎn)單易懂
這篇講的很全,包括實(shí)際例子,還包括布局

4.如何理解css預(yù)處理,less,sass 到底有什么好處,或者是優(yōu)于css的一些特點(diǎn)。

預(yù)處理器:在寫(xiě)css的時(shí)候,為了兼容各種瀏覽器,我們往往需要寫(xiě)很多代碼,css預(yù)處理器就是為了解決這一問(wèn)題的,最常用的預(yù)處理器有sass、less和styuls

CSS有具體以下幾個(gè)缺點(diǎn):

語(yǔ)法不夠強(qiáng)大,比如無(wú)法嵌套書(shū)寫(xiě),導(dǎo)致模塊化開(kāi)發(fā)中需要書(shū)寫(xiě)很多重復(fù)的選擇器;

沒(méi)有變量和合理的樣式復(fù)用機(jī)制,使得邏輯上相關(guān)的屬性值必須以字面量的形式重復(fù)輸出,導(dǎo)致難以維護(hù)。這就導(dǎo)致了我們?cè)诠ぷ髦袩o(wú)端增加了許多工作量。而使用CSS預(yù)處理器,提供 CSS 缺失的樣式層復(fù)用機(jī)制、減少冗余代碼,提高樣式代碼的可維護(hù)性。大大提高了我們的開(kāi)發(fā)效率。

但是,CSS預(yù)處理器也不是萬(wàn)金油,CSS的好處在于簡(jiǎn)便、隨時(shí)隨地被使用和調(diào)試。預(yù)編譯CSS步驟的加入,讓我們開(kāi)發(fā)工作流中多了一個(gè)環(huán)節(jié),調(diào)試也變得更麻煩了。更大的問(wèn)題在于,預(yù)編譯很容易造成后代選擇器的濫用。所以我們?cè)趯?shí)際項(xiàng)目中衡量預(yù)編譯方案時(shí),還是得想想,比起帶來(lái)的額外維護(hù)開(kāi)銷(xiāo),CSS預(yù)處理器有沒(méi)有解決更大的麻煩。

Sass

變量。通過(guò) $ 符號(hào)來(lái)定義,通過(guò)變量名稱(chēng)實(shí)現(xiàn)多處重復(fù)引用。

嵌套。支持選擇器及屬性嵌套,但如果想要在嵌套的選擇器里邊應(yīng)用一個(gè)類(lèi)似于:hover的偽類(lèi),就需要用到 & 這個(gè)連接父選擇器的標(biāo)識(shí)符。

代碼重用之繼承。使用選擇器的繼承,要使用關(guān)鍵詞@extend,后面緊跟需要繼承的選擇器。

代碼重用之Mixin混合器。使用@mixin聲明混合,可以傳遞參數(shù),參數(shù)名以$符號(hào)開(kāi)始,多個(gè)參數(shù)以逗號(hào)分開(kāi),也可以給參數(shù)設(shè)置默認(rèn)值。聲明的@mixin通過(guò)@include+minxin名稱(chēng)來(lái)調(diào)用。如果一個(gè)參數(shù)可以有多組值,如box-shadow、transition等,那么參數(shù)則需要在變量后加三個(gè)點(diǎn)表示,如$variables...。小栗子,帶參數(shù)的:

@mixin left($value: 10px) {
    float: left;
    margin-left: $value;
}
div {
    @include left(66px);
}

顏色函數(shù)。lighten darken

@import引入。Sass中的@import會(huì)在生成CSS文件時(shí)就把引入的所有文件先導(dǎo)入進(jìn)來(lái),也就是所有相關(guān)的樣式會(huì)被編譯到同一個(gè)CSS文件中,無(wú)需發(fā)起額外的請(qǐng)求。

less和sass的區(qū)別,less簡(jiǎn)單,sass強(qiáng)大
less和sass也經(jīng)常會(huì)問(wèn)到
sass的使用方法

5.css3選擇器

基本選擇器

空格(后代選擇器,可以是爺孫)/>(子元素選擇器)/+(手拉手,相鄰兄弟選擇器)/~(通用兄弟選擇器)/,(群組選擇器) 

屬性選擇器
偽類(lèi)選擇器

動(dòng)態(tài)偽類(lèi)::hover”,":active"和":focus"

:first-child選擇某個(gè)元素的第一個(gè)子元素;
:last-child選擇某個(gè)元素的最后一個(gè)子元素;
:nth-child()選擇某個(gè)元素的一個(gè)或多個(gè)特定的子元素;
:nth-last-child()選擇某個(gè)元素的一個(gè)或多個(gè)特定的子元素,從這個(gè)元素的最后一個(gè)子元素開(kāi)始算;
:nth-of-type()選擇指定的元素;
:nth-last-of-type()選擇指定的元素,從元素的最后一個(gè)開(kāi)始計(jì)算;
:first-of-type選擇一個(gè)上級(jí)元素下的第一個(gè)同類(lèi)子元素;
:last-of-type選擇一個(gè)上級(jí)元素的最后一個(gè)同類(lèi)子元素;
:only-child選擇的元素是它的父元素的唯一一個(gè)了元素;
:only-of-type選擇一個(gè)元素是它的上級(jí)元素的唯一一個(gè)相同類(lèi)型的子元素;
:empty選擇的元素里面沒(méi)有任何內(nèi)容。


否定:not
偽元素:
::first-line,:first-letter,:before,:after;

6.DOM 7.盒模型
content-box和border-box:content-box(w3c)的width和height不包含border和padding,padding不是marginborder-box包含(ie)。默認(rèn)是content-box

box-sizing 來(lái)自mdn
邊距重疊

在網(wǎng)頁(yè)的頂部加上 doctype 聲明。假如不加 doctype 聲明,那么各個(gè)瀏覽器會(huì)根據(jù)自己的行為去理解網(wǎng)頁(yè),即 ie 瀏覽器會(huì)采用 ie 盒子模型去解釋你的盒子,而 ff 會(huì)采用標(biāo)準(zhǔn) w3c 盒子模型解釋你的盒子,所以網(wǎng)頁(yè)在不同的瀏覽器中就顯示的不一樣了。反之,假如加上了 doctype 聲明,那么所有瀏覽器都會(huì)采用標(biāo)準(zhǔn) w3c 盒子模型去解釋你的盒子,網(wǎng)頁(yè)就能在各個(gè)瀏覽器中顯示一致了。
8.行元素和塊元素的區(qū)別
行元素:a、span、strong、input 、label
塊元素:div、p、h1到h6,table、td、tr、ul、li

行元素和塊元素有哪些

display:inline-block展示為塊級(jí)元素但又不獨(dú)占一行

行元素的特點(diǎn):(img和input可以設(shè)置寬高)

設(shè)置寬度width   無(wú)效。
設(shè)置高度height  無(wú)效,可以通過(guò)line-height來(lái)設(shè)置。
設(shè)置margin 只有左右margin有效,上下無(wú)效。
設(shè)置padding 只有左右padding有效,上下則無(wú)效。注意元素范圍是增大了,但是對(duì)元素周?chē)膬?nèi)容是沒(méi)影響的。

為何img,input內(nèi)聯(lián)元素可以設(shè)置寬和高?
img和input屬于行內(nèi)替換元素
如果上一篇沒(méi)看懂,來(lái)看這一篇

9.自適應(yīng)和媒體查詢

頁(yè)面中的寬度都用百分比來(lái)做

頁(yè)面所有的尺寸用rem單位來(lái)設(shè)置

實(shí)現(xiàn)自適應(yīng)的其他方法 百分比 rem
@media如何使用
其中2倍那個(gè)沒(méi)有看懂

10.常見(jiàn)的瀏覽器兼容性問(wèn)題

常見(jiàn)的瀏覽器及內(nèi)核:

IE瀏覽器內(nèi)核:Trident內(nèi)核,也是俗稱(chēng)的IE內(nèi)核;

Chrome瀏覽器內(nèi)核:統(tǒng)稱(chēng)為Chromium內(nèi)核或Chrome內(nèi)核,以前是Webkit內(nèi)核,現(xiàn)在是Blink內(nèi)核;

Firefox瀏覽器內(nèi)核:Gecko內(nèi)核,俗稱(chēng)Firefox內(nèi)核;

Safari瀏覽器內(nèi)核:Webkit內(nèi)核;

Opera瀏覽器內(nèi)核:最初是自己的Presto內(nèi)核,后來(lái)是Webkit,現(xiàn)在是Blink內(nèi)核;

360瀏覽器、獵豹瀏覽器內(nèi)核:IE+Chrome雙內(nèi)核;

搜狗、遨游、QQ瀏覽器內(nèi)核:Trident(兼容模式)+Webkit(高速模式);

瀏覽器css前綴:

-o-transform:rotate(7deg); // Opera

-ms-transform:rotate(7deg); // IE

-moz-transform:rotate(7deg); // Firefox

-webkit-transform:rotate(7deg); // Chrome

transform:rotate(7deg); // 統(tǒng)一標(biāo)識(shí)語(yǔ)句
css的兼容性:
js的(常用):

標(biāo)準(zhǔn)的addEventListener,而IE使用的是attachEvent

獲得DOM節(jié)點(diǎn)的方法有所差異,其獲得子節(jié)點(diǎn)方法不一致。IE:parentElementparentElement.children
Firefox:parentNode parentNode.childNodes
childNodes的下標(biāo)的含義在IE和Firefox中不同,F(xiàn)irefox使用DOM規(guī)范,childNodes中會(huì)插入空白文本節(jié)點(diǎn)。一般可以通過(guò)node.getElementsByTagName()來(lái)回避這個(gè)問(wèn)題。

點(diǎn)我

這個(gè)兼容性問(wèn)題真的是難受,難道我要一個(gè)一個(gè)記?一萬(wàn)年記不住系列
常用的手機(jī)端的兼容性 這個(gè)要記住 雖然我現(xiàn)在還記不住

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

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

相關(guān)文章

  • Web前端開(kāi)發(fā)學(xué)習(xí)推薦--菜鳥(niǎo)必看

    Web前端開(kāi)發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過(guò)程。第一階段:前端基礎(chǔ)(HTML / CSS / JavaScript / jQuery)初識(shí)HTML+CSS【學(xué)習(xí)筆記】HTML基礎(chǔ)完結(jié)篇html基礎(chǔ)知識(shí)——標(biāo)簽詳解html基礎(chǔ)知識(shí)——與用戶交互!(表單標(biāo)簽)html基礎(chǔ)知識(shí)——css樣式①史上最全Html和CSS布局技巧面試題匯總 HTML+CSS篇CSS 最核心的幾個(gè)概念純HTM...

    JerryWangSAP 評(píng)論0 收藏0
  • Web前端開(kāi)發(fā)學(xué)習(xí)推薦--菜鳥(niǎo)必看

    Web前端開(kāi)發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過(guò)程。第一階段:前端基礎(chǔ)(HTML / CSS / JavaScript / jQuery)初識(shí)HTML+CSS【學(xué)習(xí)筆記】HTML基礎(chǔ)完結(jié)篇html基礎(chǔ)知識(shí)——標(biāo)簽詳解html基礎(chǔ)知識(shí)——與用戶交互!(表單標(biāo)簽)html基礎(chǔ)知識(shí)——css樣式①史上最全Html和CSS布局技巧面試題匯總 HTML+CSS篇CSS 最核心的幾個(gè)概念純HTM...

    shadajin 評(píng)論0 收藏0
  • Web前端開(kāi)發(fā)學(xué)習(xí)推薦--菜鳥(niǎo)必看

    Web前端開(kāi)發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過(guò)程。第一階段:前端基礎(chǔ)(HTML / CSS / JavaScript / jQuery)初識(shí)HTML+CSS【學(xué)習(xí)筆記】HTML基礎(chǔ)完結(jié)篇html基礎(chǔ)知識(shí)——標(biāo)簽詳解html基礎(chǔ)知識(shí)——與用戶交互!(表單標(biāo)簽)html基礎(chǔ)知識(shí)——css樣式①史上最全Html和CSS布局技巧面試題匯總 HTML+CSS篇CSS 最核心的幾個(gè)概念純HTM...

    asoren 評(píng)論0 收藏0
  • Web前端開(kāi)發(fā)學(xué)習(xí)推薦--菜鳥(niǎo)必看

    Web前端開(kāi)發(fā)是創(chuàng)建Web頁(yè)面或app等前端界面呈現(xiàn)給用戶的過(guò)程。第一階段:前端基礎(chǔ)(HTML / CSS / JavaScript / jQuery)初識(shí)HTML+CSS【學(xué)習(xí)筆記】HTML基礎(chǔ)完結(jié)篇html基礎(chǔ)知識(shí)——標(biāo)簽詳解html基礎(chǔ)知識(shí)——與用戶交互!(表單標(biāo)簽)html基礎(chǔ)知識(shí)——css樣式①史上最全Html和CSS布局技巧面試題匯總 HTML+CSS篇CSS 最核心的幾個(gè)概念純HTM...

    keithxiaoy 評(píng)論0 收藏0
  • 前端每周清單第 48 期:Slack Webpack 構(gòu)建優(yōu)化,CSS 命名規(guī)范與用戶追蹤,Vue.

    摘要:發(fā)布是由團(tuán)隊(duì)開(kāi)源的,操作接口庫(kù),已成為事實(shí)上的瀏覽器操作標(biāo)準(zhǔn)。本周正式發(fā)布,為我們帶來(lái)了,,支持自定義頭部與腳部,支持增強(qiáng),兼容原生協(xié)議等特性變化。新特性介紹日前發(fā)布了大版本更新,引入了一系列的新特性與提升,本文即是對(duì)這些變化進(jìn)行深入解讀。 showImg(https://segmentfault.com/img/remote/1460000012940044); 前端每周清單專(zhuān)注前端...

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

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

0條評(píng)論

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