學習筆記 CSS篇

2021-10-10 01:31:40 字數 4282 閱讀 8650

1.static:預設情況

2.relative:相對的,與正常位置對比

3.absolute:絕對的,與父元素位置對比

4.fixed:相對於瀏覽器視窗固定

5.sticky:粘性的,滾動後超出區域就粘在目標位置

1.margin:外邊距

2.border:邊框

3.padding:內邊距

4.content:內容

1.a:link:未訪問的鏈結

5.p:before:在標籤之前插入內容

6.p:after:在標籤之後插入內容

兩者的區別:

偽類用:分割,偽元素用::分割

偽類是一種額外的樣式,偽元素是一種虛擬元素

容器上的屬性:

1.flex-direction:決定主軸的方向

.container
2.flex-wrap:決定是否可以換行

.container
3.flex-flow:flex-direction和flex-flow的簡寫形式

.container
4.justify-content:決定在主軸上的對齊方式

.container
5.align-items:決定交叉軸上的對齊方式

.container
6.align-content:定義多根軸線的對齊方式,如果只有一根則不起作用

.container
專案上的屬性

1.order:排列順序,數值越小越靠前,預設值為0

.item
2.flex-basis:計算主軸是否還有多餘空間

.item
3.flex-grow:如果有多餘空間則根據比例放大,預設值為0,不放大,全部值為1時等分,某個值為2,其他值為1時,前者佔據剩餘空間是其他的兩倍

.item
4.flex-shrink:如果空間不足就縮小,預設值為0,不縮小,全部值為1時等縮小

.item
5.flex:flex-grow,flex-shrink,flex-basis的縮寫

.item 

//舉個例子:

.item

6.align-self:單個專案的對齊方式

.item
1.flex:align-items:center

2.line-height:line-height:***px(***與父元素的高度一樣)

3.vertical-align:middle前提是display為inline-block

4.已知父元素高度,給子元素設定:

position:relative

top:50%

transform:translatey(-50%)

現在的移動主流屏dpr(畫素比)一般為2或者3,比如要展示1px,那麼實際應該寫0.5px。這在ios中是支援的,但是安卓不支援、

1.使用偽元素:

.div::after
優缺點:可以圓角,但是會影響清除浮動

2.設定viewport的scale值+rem

1.當dpr=2時

2.當dpr=3時

3.rem是根據html標籤的font-size來計算的,比如html,div,其實width=32px

em是根據父元素的font-size來計算的,比如span是div的子元素,html,div,span,其實span的font-size=20px

優缺點:這種方法適合新專案,老專案修改太大

層疊上下文:某些元素因為某些原因層疊到了一起

層疊順序:正z-index > z-index=0 > inline或者inlineblock盒子 > 浮動盒子 > block盒子 > 負z-index > 層疊上下文(background/border)

**法則:

誰大誰上,看層疊水平z-index,誰大誰在上面

後來居上,當層疊水平和層疊順序一樣時,後面的元素覆蓋前面的元素

邊框:border-radius:10px設定圓角,border-shadow:10px(右) 10px(下) 5px(陰影大小) #888888設定陰影

背景:background-imagebackground-size漸變:線性漸變background-image:linear-gradient(***),徑向漸變:background-image:radial-gradient(***)文字效果:

text-shoadow:文字陰影效果

box-shadow:盒子陰影效果

text-overflow:文字溢位效果

word-wrap:允許換行

word-break:換行方式,keep-all(詞之間換行),break-all(詞內部換行)

2d轉換:

translate(50px,100px)//從左邊移動50px,從頂部移動200px

rotate(30deg)//正值順時針旋轉,負值逆時針旋轉

scale(2,3)//寬度變為原來的兩倍,高度變為原來的三倍

skew(30deg,20deg)//向x軸傾斜20度,向y軸傾斜30度

3d轉換:rotatex(deg),rotatey(deg)過渡:

transition-property: width;(規定過渡的屬性名稱)

transition-duration: 1s;(過渡持續時間)

transition-timing-function: linear;(過渡效果方式)

transition-delay: 2s;(從何時開始)

動畫:

animation-name: myfirst;(動畫名稱)

animation-duration: 5s;(持續時間)

animation-timing-function: linear;(效果方式)

animation-delay: 2s;(何時開始)

animation-play-state: running;(是否正在執行)

@keyframes myfirst(規則)

25%

50%

100%

}

彈性盒子(flex):上面說過了,不多說了

邊框:box-sizing: border-box將padding內邊距和border邊框包含在width和height中

多**查詢:當寬度小於xx時,將其***x

兩邊固定寬度,中間自適應,即將中間子元素的寬度設定為 100%,左邊和右邊的子元素設定為固定的寬度(負margin保持在同一行)

弊端:當瀏覽器無線變窄,「聖杯」將會「破碎」掉

出發點:為了解決上面的弊端

為了中間div內容不被遮擋,直接在中間div內部建立子div用於放置內容,在該子div裡用margin-left和margin-right為左右兩欄div留出位置

也叫塊級格式化上下文,用於布局塊級盒子的一塊渲染區域,有一套渲染規則,決定其子元素如何布局以及和其他元素之間的關係和作用

根元素,即html元素

float的值不為none

overflow的值不為visible

display的值為inline-block,table-cell,table-caption

position的值為absolute,fixed

組織元素被浮動元素覆蓋

可以包含浮動元素

阻止margin重疊

前端學習筆記css篇(1)

1.響應式布局 常用的響應式布局方法 為不同解析度配置不同的css檔案 當解析度大於720px時 media screen and min width 720px 2.css動畫 css3的animation提供簡單的動畫效果,如設定透明度漸變 header keyframes c opacity ...

CSS 動畫學習筆記 Animation篇

首先了解一下animation的基本用法,使用其需要給動畫指定乙個週期持續的時間,以及動畫效果的名稱。可以看一下demo 注釋 這是乙個給透明和背景色屬性設定的乙個動畫過渡效果 實現很簡單 具體看到 中的注釋 1 block wrap 9 動畫效果,opacity為效果標題,keyframes必須要...

CSS學習筆記 傳統定位篇

在沒有使用任何定位和浮動情況下,html中塊元素從上到下排布 每個塊獨佔一行,自帶換行 內聯元素從左到右排布。1 靜態定位 static 一般的標籤元素不加任何定位屬性都屬於靜態定位,在頁面的最底層屬於標準流。靜態定位的元素不會受到 top,bottom,left,right影響。2 絕對定位 ab...