css3

溢出

內(nèi)容多,容器小,會發(fā)生溢出
默認(rèn)溢出顯示,默認(rèn)縱向溢出

效果顯示
  • 溢出的控制 overflow
    1.visible 默認(rèn)值,缺省值,溢出部分可見
    2.hidden 溢出部分隱藏
    3.scroll 不管是否溢出都有滾動條
    4.auto 溢出又滾動條,不溢出沒有
    5.overflow-x 單獨設(shè)置x軸滾動條
    6.overflow-y 單獨設(shè)置y軸滾動條
p{
      /*溢出的控制     */
      overflow:hidden;
    }

邊框的簡寫方式

width style color

border: 1px solid red;
  • width:邊框的粗細(xì) px
  • style: 邊框的樣式
    • solid*:實線
    • dotted*:點點的虛線
    • dashed*:線條虛線
    • double*:雙實線
合法顏色值
  1. 顏色的英文單詞
  2. #00 00 00 6個16進(jìn)制(0~255)
    • rgb:色光三原色 紅 #ff 00 00 綠 藍(lán)
    • #ff ff ff 代表 白(光全開就是白)
    • #00 00 00 代表 黑(沒開光就是黑)
  3. #aabbcc--->#abc
  4. rgb(r,g,b)10進(jìn)制 0~255
  5. rgb(r%,g%,b%) 255的%(不常用)
  6. rgba a:透明度(0~1)
  7. transparent; 透明

好看的藍(lán) [1]

邊框最簡單方式:border:style;默認(rèn)1px,黑色,style

單邊設(shè)置

border-方向: width style color;
方向: 上 右 下 左

單屬性設(shè)置
  • border-width 邊框大小
  • border-style 邊框樣式
  • border-color 邊框顏色
單邊的單屬性設(shè)置
  • border-left-width 邊框大小
  • border-right-style 邊框樣式
  • border-top-color 邊框顏色
圓角 radius
border-radius:10px;

單位:px %; 臨界點:50%變成圓

單角設(shè)置

border-top-left-radius: 2px
border-top-right-radius: 2px
border-bottom-left-radius: 2px
border-bottom-right-radius: 2px
邊框陰影 box-shadow

取值:h-shadow v-shadow blur spread color inset;

  • h-shadow:水平方向的偏移量
  • v-shadow:垂直方向的偏移量
  • blur: 陰影的模糊距離
  • spread: 陰影尺寸
  • color : 陰影顏色
  • inset: 設(shè)置外部陰影為內(nèi)部陰影

最簡方式:h-shadow v-shadow

輪廓

邊框外面一條線,邊框的邊框

outline: width style color;
一般只清除輪廓
outline:0/none:清除輪廓
border:0/none:清除邊框


盒子模型,框模型

所有元素皆為框


元素在頁面上實際占據(jù)空間的計算方式

寬度: 左外邊距+左邊框+左內(nèi)邊距+內(nèi)容區(qū)域的寬度+右外邊距+右邊框+右內(nèi)邊距
高度: 上外邊距+上邊框+上內(nèi)邊距+內(nèi)容區(qū)域的高度+下外邊距+下邊框+下內(nèi)邊距

外邊距: 邊框以外的距離(元素與元素的距離)
內(nèi)邊距:邊框與內(nèi)容區(qū)域的距離

  1. 外邊距 margin
    • 改變外邊距,元素有位移效果,邊距無顏色
    • margin:v1;4個方向上的外邊距
    • 上 右 下 左單獨一邊的邊距;
      如果當(dāng)前行只有一個元素,右外邊距數(shù)值不準(zhǔn)確

取值:

  1. px
  2. % 父元素寬度的%
  3. 負(fù)數(shù): 往相反的方向移
  4. auto: 必須左右外邊距一起用,
    作用:讓塊級元素水平居中
    簡寫:margin:auto; 水平居中

外邊距的合并:上下外邊距以最大的一個值為準(zhǔn)
解決方案:

  1. 只寫上,或者下,不要混寫
  2. 設(shè)計時規(guī)避
塊級 行內(nèi) 行內(nèi)塊
設(shè)置寬高有效 寬高無效 設(shè)置寬高有效
不寫寬,默認(rèn)寬父元素100%,不寫高內(nèi)容撐開 寬高都是內(nèi)容撐 默認(rèn)值帶一個寬高,不同瀏覽器解析不同
單獨成行 與其他行內(nèi)和行內(nèi)塊元素共用一行 與其他行內(nèi)和行內(nèi)塊元素共用一行
上下外邊距有效 上下外邊距無效 上下外邊距有效,改變一行任意一個行內(nèi)塊的上下外邊距,本行其他元素,跟著一起位移

css 重置 reset

  • body自帶8個外邊距
  • ul自帶40px左內(nèi)邊距
    body,p ,h1-h6,ol,ul,dl,pre都有邊距,因瀏覽器解析不同,需要樣式重置
    *{margin:0;padding:0;}
blockquote, body, button, dd, 
dl, dt, fieldset, form, h1, h2, 
h3, h4, h5, h6, hr, input, 
legend, li, ol, p, pre, td, 
textarea, th,ul
{margin:0;padding:0;}
外邊距溢出

在特殊情況下,為子元素設(shè)置外邊距,會作用到父元素上

  1. 父元素沒有上邊框
  2. 子元素內(nèi)容區(qū)域上邊沿與父元素內(nèi)容區(qū)域上邊沿重合

解決方案:

1.給父元素添加上邊框
缺點:增加了父元素實際占地高度
2.給父元素添加上內(nèi)邊距
缺點:增加了父元素實際占地高度
3.overflow:hidden;
缺點:想要溢出顯示怎么辦


4.常用給父元素添加一個大兒子
一個空的table元素


內(nèi)邊距

邊框和內(nèi)容區(qū)域之間的距離
修改內(nèi)邊距,效果是元素越大,內(nèi)邊的顏色,就是背景的顏色
一般,需要把元素?fù)伍_的需求需要內(nèi)邊距
padding:v1;
padding沒有auto
取值:
1.px
2.%, 以父元素寬度的%
簡寫方式:一個值

box-sizing:

取值:
1 content -box.默認(rèn)情況下,設(shè)置width是內(nèi)容區(qū)域的寬度

  1. border-box:設(shè)置width是邊框內(nèi)部的總寬度(含邊框)
    • 元素實際占地高度:左外+width
    • 一般子元素用%做寬,幾個子元素有空隙,要設(shè)置border-box
      使用padding調(diào)整空隙大小

背景

background-color:合法顏色值;

背景圖像

使用背景圖,可讓元素內(nèi)部子元素,堆疊在背景上
background-image:url();
此路徑可加雙引號,單引號,可不加

  1. background-repeat:repeat;
    取值:
    • repeat 默認(rèn)值平鋪
    • no-repeat 不平埔
    • repeat-x 水平平鋪
    • repeat-y 垂直平鋪
  2. background-position: 100px(x) 300px;(y)
    • 取值:x,y
    • px 而為單位
    • %
    • 關(guān)鍵字x:(left/right/centent)y(top /centent /bottom)
  3. 背景圖片的尺寸
    • background-size:
      取值:
    • 一個值:px數(shù)字 同時控制x,y的大小
    • 兩個值:分別控制x,y的大小
    • 關(guān)鍵字:cover contain

cover:覆蓋和填充,讓背景圖沖滿整個容器,哪怕圖片顯示不完全

contain 包含,讓容器顯示完整的圖片,哪怕容器有空白區(qū)域,也要包含完整圖片

  1. 背景圖片的固定
    background-attachment:scroll(默認(rèn)值)
    取值:fixed 固定(相對窗口位置固定,滾動,位置不變,但只能在原容器顯示)

7.背景的簡寫方式
color url repeat attachment position 沒有size
背景圖設(shè)置了fixed那么position會根據(jù)瀏覽器窗口定位

漸變gradient

漸變是多種顏色,平緩變化的一種顯示效果
漸變的主要因素
色標(biāo),一種顏色,出現(xiàn)的位置
效果,至少兩個色標(biāo)
漸變的分類

  1. 線性漸變,以直線填充
  2. 徑向漸變,以圓形來填充
    3.充復(fù)漸變,將線性,徑向重復(fù)執(zhí)行

線性漸變:background-image
簡寫:background:linear-gradient(方向,色標(biāo)1,色標(biāo)2,色標(biāo)3)
方向:取值 1.關(guān)鍵字,定義的

  • 終點:
    to top/to right /to bottom/ to let
  • 角度:deg
    0deg ->to top
    90deg -> to right
    180deg-> to bottom
    270deg-> toleft
  • 色標(biāo):顏色+位置
    1. 位置,%
    2. 位置,px
    3. 位置不寫,平均分配
  1. 徑向漸變

background:radial-gradient(半徑 at 圓心,色標(biāo)1,色標(biāo)2,色標(biāo)3)

  • 半徑:px為單位的數(shù)字,色標(biāo)中位置用%,會根據(jù)半徑變化,如果是px,半徑失去作用
    圓心: x y px為單位的數(shù)字
    x% y%
    關(guān)鍵字 x:left/center/right
    y:top/center/bottom
  1. 重復(fù)漸變
    repeating-linear-gradient(方向,色標(biāo)1,色標(biāo)2,...)
    repeating-radial-gradient(半徑 at 圓心,色標(biāo)1,色標(biāo)2,...)

瀏覽器兼容 css hack

漸變兼容低版本瀏覽器
-moz- 火狐
-webkit- 谷歌/蘋果
-o- opera
-ms- ie
-webkit-repeating-linear-gradient(方向起點,色標(biāo)1,色標(biāo)2,...)
取值:top bottom left right,從哪里開始

文本格式化

  1. 指定字號大小
    • font -size :值(px/pt/rem/em)
  2. 字體系列
    • font-family:值
      pc中字體庫中有的字體,有空格建議加“”用逗號隔開多個字體系列
      chiller,“mv boli”,jokerman,黑體;
  3. 字體加粗
    • font-weight:值(關(guān)鍵字:normal/bold/bolder/lighter/
      不帶單位的數(shù)字,100的整倍數(shù):100~1000)
  4. 字體樣式font-style
    normal(默認(rèn)值)
    italic斜體
  5. 小型大寫字母
    font-variant:small-caps
  6. 簡寫
    font:style variant weight size family
    45312
    最簡:size family
文本屬性
  1. color:字體顏色
  2. 文本對齊方式
    • text-align:

    值:left / center/ right / justify(兩端對齊)

margin:o auto;和text-align的區(qū)別

margin:o auto:該塊級元素本身水平居中
text-align:設(shè)置內(nèi)部文本,行內(nèi),行內(nèi)塊,水平對齊,該元素內(nèi)塊級元素?zé)o效

  1. 行高:line-height
    行高自帶的功能
    如果一行文字字號小于行高,那么該行文字,顯示在行高中間
    一般情況下行高等于容器的高度,那么該文字就能在容器中垂直居中

注:多行文本不使用行高
取值:px為單位的數(shù)字
無單位的數(shù)字代表行高是字號的倍數(shù)

  1. 文本線條
    text-decoration:none; 沒有線條修飾,a去除下劃線
  • 取值:underline:下劃線
  • 取值:overline:上劃線
  • 取值:line-through:刪除線;
  1. 首行縮進(jìn)
    text-indent: px
    text-shadow:h-shadow v-shadow blur color
    h-shadow :水平便宜
    v-shadow:垂直偏移
    blur:模糊距離
    color:陰影顏色

css編寫思路[1]


表格的樣式

  1. 常用屬性
    尺寸,邊框,背景,字體,內(nèi)外邊距,

table 設(shè)置邊框,只會設(shè)置最外層最大邊框
td/th (外邊距無效) 尺寸,邊框,背景,字體,內(nèi)邊距,
vertival-align:指定單元格垂直對齊方式
取值:top、middle,bottom


table是特殊的表現(xiàn)方式
實際尺寸和設(shè)計不一樣,是根據(jù)內(nèi)容數(shù)據(jù)的多少決定的
單元格小,內(nèi)容多,制動撐開,
內(nèi)容小,單元格大,跟單元格走


表格渲染方式與其他元素不同
先讀取到內(nèi)存中再一次型渲染,效率低

  1. 表格的特有屬性
  • border-collapse:separate(默認(rèn)值,邊框分離狀態(tài))
    collapse(合并)
  • border-spacing: px 邊框間距 前提邊框必須分離
    一個值:水平垂直間距
    兩個值:第一個水平,第二個垂直
  • 標(biāo)題位置
    caption -side 默認(rèn)值top 可設(shè)置為bottom
  • 設(shè)置表格的顯示規(guī)則
    渲染表格的方式
    table-layout:
    取值:auto(默認(rèn)值)制動表格布局
    td/th的尺寸實際上由內(nèi)容決定
    fixed 固定表格布局
    不管內(nèi)容多大,不存入內(nèi)存,按尺寸顯示,直接渲染
table自動布局 table的固定
單元格大小自動適應(yīng) 單元格大小取決于設(shè)置的尺寸
表格復(fù)雜時速度慢 任何情況下加載速度都快
比較靈活 不靈活
適用于表格不復(fù)雜,不確定每列大小的表格 適用于表格確定每列大小的布局

定位

1. 什么是定位

設(shè)置元素在頁面上的位置

2. 分類

普通流定位
浮動定位
相對定位
絕對定位
固定定位

3. 普通流定位(默認(rèn))(默認(rèn)文檔流)

  • 每個元素在頁面上都喲自己的空間(不能堆疊)
  • 每個元素都是從父元素左上角繪制
  • 塊級元素按照從上倒下方式逐個排列,每個元素單獨成行
  • 行內(nèi)和行內(nèi)塊元素在一行中從左往右逐個排列,一行放不下?lián)Q行

4. 浮動定位

讓塊級元素橫向顯示

  • float:取值
    • none 不浮動
    • left 向左浮動 ,讓元素脫離文檔流,像當(dāng)前行左看齊
    • right 向右浮動,讓元素脫離文檔流,像當(dāng)前行右看齊
  • 浮動的特點
    1.元素一旦浮動,就脫離文檔流(不再占用頁面空間,后面元素上前補位)
    2.浮動元素,或i??吭诟冈氐淖?右邊,或者其他已浮動元素的邊緣
    3.父元素橫向顯示不下說有元素,顯示不下的部分會自動換行
    4.浮動解決,多個塊級元素橫向顯示的問題
  1. 浮動引發(fā)的特殊情況
    1. 浮動引發(fā)的占位問題
      • 當(dāng)父元素顯示不下說有浮動元素時,顯示不下元素會換行,已浮動元素,會根據(jù)浮動占據(jù)位置,導(dǎo)致被擠下去的浮動元元素,要在更下方顯示
    2. 元素一旦浮動,元素沒定義寬度,寬度靠內(nèi)容撐開
    3. 行內(nèi)元素浮動后自動變成塊級

    可以設(shè)置寬高,內(nèi)外邊距
    4. 文本,行內(nèi),行內(nèi)快是不會被浮動元素壓在下面的,而是巧妙地避開,環(huán)繞著浮動元素顯示

6. 總結(jié)

一個元素脫離文檔流:對應(yīng)下面幾件事
1.元素本身不占頁面空間,后面元素向前補位
2.脫離文檔流的元素,都變成塊級元素
3.如果元素沒寬,脫離文檔流后,寬度靠內(nèi)容撐開

7. 清除浮動效果

一個元素不浮動,前面與浮動的兄弟元素帶來了影響
影響:元素向前補位
清除浮動帶來的影響:不上前補位

  • clear:none/left/right/both
    /left: 清除左浮動帶來的影響
    /right: 清除右浮動帶來的影響
    /both: 同時清除左右浮動帶來的影響

8. 高度坍塌

父元素沒有定義高度,高度靠內(nèi)容撐開,子元素都浮動了,導(dǎo)致父元素找不到高,這樣就導(dǎo)致了父元素的高度坍塌
* 解決方案:
* 1. 給父元素定義高度 弊端,動態(tài)的數(shù)據(jù),沒辦法知道具體的高度
* 2. 父元素也浮動 弊端 ,會影響其他元素
* 3. 父元素overflow:hidden 弊端,如果想溢出就沖突了
* 4. 追加一個小的塊級元素,設(shè)置clear:both

9. 定位

1. 顯示
  • 顯示的效果

visibility:visible 默認(rèn)值 可見
hidden 隱藏 不可見 不脫離文檔流

* 顯示方式(重點)

設(shè)置元素在頁面中的表現(xiàn)形式(塊級,行內(nèi),行內(nèi)塊,table)
display: inline(行內(nèi))/block(塊級)/inline-block(行內(nèi)塊)/table(表格)/none(隱藏(脫離文檔流的隱藏))

ps: display:none和visibility: hidden區(qū)別

display:none(隱藏(脫離文檔流的隱藏))后面元素向前補位
visibility:hidden 隱藏 不可見 不脫離文檔流 占據(jù)位置

* 透明度 opacity(0 ~ 1)透明 ~ 不透明

opacity和rgba的區(qū)別
rgba只會給變當(dāng)前顏色透明度
opacity會改變顏色和后代和內(nèi)部元素的透明度

* 垂直對齊方式

vertical-align 只能用于 行內(nèi)塊 表格 img

1. 在table中使用時。取值:top/middle/bottom
2. 圖片和文字的排版

給圖片設(shè)置vertical-align:設(shè)置的是圖片前后文字,與圖片的垂直對齊;取值:baseline(默認(rèn)值)/top/middle/bottom
一般設(shè)置非基線對齊

* 光標(biāo)的設(shè)置

cursor: default (默認(rèn)值 箭頭)/ pointer(小手)/ text(文本)/ wait(加載)/ help(問號)/ crosshair(加號)

10. 列表樣式

1. 列表標(biāo)識向

list-style-type:none/disc/circle/square

2. 列表項圖片

list-style-image:url() 小圖
###### 3. 列表項的位置
list-style-position:outside 默認(rèn) 在li外部 ul內(nèi)邊距里
inside 在li內(nèi)部
##### 4. 簡寫方式
list-style:type image position
項目中使用頻率最高的list-style:none;
如果有多個div樣式相同可以使用多個ul li布局

11. 定位

position:
取值:static 默認(rèn)值 靜態(tài)(默認(rèn)文檔流)
relative:相對定位
absolute: 絕對定位
fixed: 固定定位
當(dāng)一個元素設(shè)置了position:取值為這三種種的一種時,這個元素,被稱為以定位元素
一定為元素:自動解鎖4個偏移屬性,
top/right/bottom/left

1. 相對定位

不寫偏移屬性,頁面沒有作用,和沒寫定位一樣的,需要配合偏移屬性
左右沖突聽左的,上下沖突聽上的,正值向下,負(fù)值向上
相對定位不脫離文檔流
相對定位的參照物是自己原來的位置
使用相對定位場合
* 類似margin,元素微調(diào)
* 作為絕對定位的祖先元素

2. 絕對定位(大招)

配合偏移屬性
脫離文檔流(不占空間,,補位 塊級,要寫寬高)
絕對定位的參照物???????????
>祖先元素,沒有已定位元素,那么相對body左上角位移
祖先元素,有已定位元素,那么按最近的祖先元素左上角位移

3. 固定定位 fixed

脫離文檔流,相對body偏移,永遠(yuǎn)在可視區(qū)域

4. 堆疊順序

默認(rèn)堆疊順序,后寫的順序高(是html元素編寫的順序)
使用z-index修改順序
z-index:無單位的數(shù)字(只有已定位元素才能用)
堆疊順序?qū)Ω缸蛹墴o效,兒子永遠(yuǎn)在父親上面

css3 核心

一. 復(fù)雜選擇器
兄弟選擇器
  1. 相鄰兄弟選擇器 ,獲取選擇器1后面緊緊挨著的選擇器

選擇器1+選擇器2

  1. 通用兄弟選擇器 ,獲取選擇器1后面所有符合選擇器2的元素

選擇器1 ~ 選擇器2
用途:
設(shè)置一組元素,但大哥不應(yīng)用此樣式

二,屬性選擇器

elem代表元素 attr代表屬性名 val代表屬性值
[attr]{} 匹配頁面帶attr屬性的元素
[attr1][attr2]{} 匹配頁面帶attr1和attr2屬性的元素
[attr=val]{} 匹配頁面帶attr=val屬性的元素
elem[attr]{} 匹配頁面帶attr屬性的elem元素

三. 關(guān)于屬性值的模糊匹配

[title^="ga"]{} 屬性值為title并且值 開頭 為ga
[title$="ga"]{} 屬性值為title并且值 結(jié)尾 為ga
[title*="ga"]{} 屬性值為title并且值 含有 ga
[title~="ga"]{} 屬性值為title并且值 含有 ga 這個單詞

四. 偽類選擇器

:link/:visited/:hover/:active/:focus

1. 目標(biāo)偽類 :target

讓被激活的錨點,應(yīng)用一個樣式

div{
  display:none;
}
div:target{
display:block;
}
<a href="#hz">1</a>
 <a href="#hz1">2</a>
<div id="hz">1111111111 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque, enim, blanditiis, quae sunt accusamus debitis minima in architecto aliquid tempore a at recusandae necessitatibus quasi et laudantium porro sint beatae voluptates officiis nostrum iste est aliquam illum veniam! Quaerat, veritatis eaque harum velit commodi perferendis iste quidem ipsam molestiae eveniet?   </div>
 <div id="hz1">2222222222222Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque, enim, blanditiis, quae sunt accusamus debitis minima in architecto aliquid tempore a at recusandae necessitatibus quasi et laudantium porro sint beatae voluptates officiis nostrum iste est aliquam illum veniam! Quaerat, veritatis eaque harum velit commodi perferendis iste quidem ipsam molestiae eveniet?   </div>
2. 結(jié)構(gòu)偽類

p:first-child{}
匹配p的父親的第一個兒子,這個兒子也得是p
p:last-child{}
匹配p的父親的最后一個兒子,這個兒子也得是p
p:nth-child(n){} n從一開始
匹配p的父親的第n個兒子,這個兒子也得是p

3. 空元素偽類

:empty{} 匹配 內(nèi)容區(qū)域啥都沒有,一個空格都不能有

4. 唯一子元素(匹配有獨生子女的標(biāo)簽):only-child{}

a:only-child{} a標(biāo)簽在父元素里是獨生子女

5. 否定偽類 :not(條件){}

div:not(:first-child){}除了第一個,其他都選擇
elem:not(selector) 符號selector的元素都不要

6. 偽元素選擇器

:first-letter (h5) (h4是::first-letter)
給首字母定義樣式
:first-line
給首行定義樣式
::selection 必須是兩個::
匹配用戶選取的內(nèi)容的樣式(只能設(shè)置文本顏色背景顏色

4.內(nèi)容生成

使用css命令,添加html元素
:before (h5) (h4是::first-letter)
在元素內(nèi)容區(qū)域最前面添加一個偽元素
默認(rèn)類似于span;添加的內(nèi)容用content
content只能寫文本或者url
可以設(shè)置各種樣式
:after (h5) (h4是::first-letter)
在元素內(nèi)容區(qū)域最后面添加一個偽元素
默認(rèn)類似于span;添加的內(nèi)容用content
content只能寫文本或者url
可以設(shè)置各種樣式


內(nèi)容生成,可以解決的問題

> 1.外邊距溢出

:before{
display:table;
content:"";
}

2.高度坍塌

:after{
display:block;
content:"";
clear:both;
}

二. 彈性布局

是一種布局方式主要解決的問題,摸個元素中所有子元素的布局方式
為布局提供了很大的靈活性

1.彈性布局專有名詞

容器: 設(shè)置了display:flex的元素,是個父元素
要發(fā)生彈性布局元素們的父元素

項目: 要發(fā)生彈性布局的元素們
就是容器的子元素

主軸: 項目們排列的方向,叫做主軸
如果項目們橫向排列,主軸是x軸
縱向排列,主軸是y軸
排列順序成為了主軸的起點和終點

交叉軸:永遠(yuǎn)與主軸方向垂直的一條軸,叫做交叉軸
項目們在交叉軸上的排列順序,成為了交叉軸的起點和終點

2.語法:

將元素設(shè)置為彈性容器,容器所有子元素都變成彈性項目
這些項目都允許按彈性布局的方式排列
display:

值:flex 將塊級元素設(shè)置為彈性容器
inline-flex 將行內(nèi)元素設(shè)置為彈性容器

元素設(shè)置彈性容器后,容器text-align vertical-align失效
項目float,clear失效

3.容器的屬性
  • 主軸:
    flex-direction:
    取值:1.row 默認(rèn)值 主軸為x,起點左側(cè)
    2.row-reverse 主軸為x,起點右側(cè)
    3.column 主軸為y,起點上側(cè)
    4.column-reverse 主軸為y,起點下側(cè)
設(shè)置項目換行

flex-wrap:
取值:nowrap 默認(rèn)值
wrap
wrap-reverse
主軸方向和換行的縮寫
flex-flow:direction wrap

4. 定義項目在主軸上的對齊方式

justify-content:
取值:flex-start 默認(rèn)值,主軸起點
flex-end:主軸終點對齊
center:主軸中心對齊
space-between: 兩端對齊(兩端無空白距離)
space-around:每個間距大小相等

5.項目們在交叉軸上的 對齊方式

align-items
取值:
flex-start 默認(rèn)值,交叉軸起點
flex-end:交叉軸終點對齊
center:交叉軸中心對齊
stretch:如果項目不定義高度,項目充滿交叉軸

4.項目的屬性,設(shè)置在某一個項目上,不影響其他項目
1.項目排列的順序

order:無單位整數(shù)
值越小,越靠近主軸起點,默認(rèn)值是0

2. flex-grow:無單位整數(shù)(定義項目放大比例)

如果主軸剩余空間夠大,項目將按比例放大(比例不準(zhǔn)確),默認(rèn)值是0(不放大),

flex-shrink:無單位整數(shù) 縮小 默認(rèn)值是 1

主軸空間不夠時,項目將按比例縮?。ū壤粶?zhǔn)確)(數(shù)字越大縮的越?。?br> flex-grow:basis 就是計算項目能放大縮小是占據(jù)的空間大小

簡寫: flex: 0( flex-grow) 1(flex-shrink) auto(flex-basis)

某個項目在交叉軸上的對齊方式
align-self (設(shè)置某一個項目)

flex-start 默認(rèn)值,交叉軸起點
flex-end:交叉軸終點對齊
center:交叉軸中心對齊
stretch:如果項目不定義高度,項目充滿交叉軸
auto 使用容器設(shè)置的align-items的值

三轉(zhuǎn)換

改變元素在頁面中的 位置,大小,角度 以及 形狀
2D轉(zhuǎn)換,只有x,y
3D轉(zhuǎn)換,添加了Z軸,模擬3D

轉(zhuǎn)換的屬性

transform:
取值:一個或者多個轉(zhuǎn)換函數(shù),函數(shù)用空格分開

轉(zhuǎn)換原點,對旋轉(zhuǎn)產(chǎn)生影響

transform-origin:
取值:
兩個值(x,y):
三個值(x,y,z)
top bottom left right center
數(shù)字px
數(shù)字%
學(xué)習(xí)轉(zhuǎn)換就是學(xué)習(xí)不同的轉(zhuǎn)換函數(shù)

2. 2d轉(zhuǎn)換

1.位移(改變元素的位置)
transform:translate()
取值:translate(x)等同于translateX
指定在x軸上的位移
+值往右,負(fù)值往左
translateY
指定在Y軸上的位移
+值往下,負(fù)值往上
translate(x,y)同時設(shè)置x,y軸的位移

2. 旋轉(zhuǎn)

rotate(ndeg)
n:+ 順時針 -逆時針
注意:旋轉(zhuǎn)原點會影響旋轉(zhuǎn)效果

旋轉(zhuǎn)連坐標(biāo)一起旋轉(zhuǎn),會影響旋轉(zhuǎn)后的位移方向

3.縮放,改變元素的大小

scale(數(shù)值)
取值:
1.一個值val>1 x軸y軸同時放大
0<val<1 x軸y軸同時縮小
-1<val<0 x軸y軸同時縮小,翻轉(zhuǎn)val<-1 x軸y軸同時放大翻轉(zhuǎn)
2.兩個值,分別設(shè)置兩軸的縮放
3.scaleX(val)單獨設(shè)置x軸
4.scaleY(val)

4.傾斜

skewX(角度)等同于skew(角度)
讓元素向著x軸發(fā)生傾斜,實際上改變的是Y軸的角度
n:+y軸是逆時針 -是順時針
skewY(角度)
讓元素向著Y軸發(fā)生傾斜,實際上改變的是X軸的角度
n:+x軸是順時針 -是逆時針
skew(x,y)

  1. 3d轉(zhuǎn)換 3d旋轉(zhuǎn)
① 透視距離

模擬人的眼睛3d轉(zhuǎn)換之間距離,距離不同,看到的效果不同
perspective:px為單位的數(shù)字
此屬性要添加在3d轉(zhuǎn)換的父元素上

設(shè)置一個3D元素的基數(shù)位置

perspective-origin:center center;

讓轉(zhuǎn)換的子元素保留3D轉(zhuǎn)換 -- preserve-3d:表示所有子元素在3D空間中呈現(xiàn)

transform-style:preserve-3d;
② 3D轉(zhuǎn)轉(zhuǎn)
transform
取值:

1.rotateX(xdeg) 以x軸為中心軸旋轉(zhuǎn)
2.rotateY(ydeg); 以y軸為中心軸旋轉(zhuǎn)
3.rotateZ(ydeg); 以z軸為中心軸旋轉(zhuǎn)
4.rotate3D(x,y,z,deg) x,y,z為0,該軸不參與旋轉(zhuǎn)
大于 0都會參與旋轉(zhuǎn),但是速度不同

  1. 過渡
    ①什么是過渡

讓css值在一段時間內(nèi),平緩變化的效果,(兩個值之間的變化)

②過度的語法
設(shè)定執(zhí)行過渡的屬性
transition-property:
取值:

  • 執(zhí)行過渡的樣式屬性
  • 多個屬性用空格分開
  • all 所有支持過度的屬性都過渡
    支持過度的屬性有?

顏色屬性
大多數(shù)取值為具體數(shù)字的屬性
陰影
轉(zhuǎn)換
visibility

指定過渡時長

整個過渡效果持續(xù)的時間
transition-duration:3s; s/ms

時間曲線函數(shù)

transition-timing-function:ease;(默認(rèn)值)
取值:ease 慢開 加速 慢關(guān)
linear 勻速
ease-in 加速
ease-out 減速
ease-in-out 慢開 先加速后減速 慢關(guān)
④延遲過渡執(zhí)行
transition-delay:2s;
⑤過度代碼編寫位置
寫在原來的選擇其中,過渡效果有來有回
寫在hover中過渡效果,有去無回
簡寫方式:transition: all(property) 2s(duration) linear(timing-function) 2s(delay);
最簡方式:transition:duration
3.使用過度的時機(jī)(只有兩個關(guān)鍵幀)
兩個點的效果,用過渡
必須使用偽類激發(fā)

動畫

1.什么是動畫
多個過渡效果放到一起
可以不使用偽類激發(fā)
2.關(guān)鍵幀,來控制動畫的每一個狀態(tài)
3.動畫的使用
①創(chuàng)建動畫
@keyframes 動畫名稱{
0%{}
....
100%{}
}
②調(diào)用動畫
設(shè)置調(diào)用動畫名稱
animation-name:動畫名稱
設(shè)置動畫執(zhí)行時間
animation-duration: 時間;
設(shè)置動畫的時間曲線函數(shù)
animation-timing-function:
取值: ease/linear/ease-in/ease-out/ease-in-out
設(shè)置動畫的延遲
animation-delay:時間;

動畫的其他屬性

③播放次數(shù)
animation-iteration-count:次數(shù);
取值:
1.具體播放次數(shù)
2.無限次 infinite
④動畫播放順序
animation-direction:
取值
正常播放 normal 0~100%去播放
reverse 100%~0去播放
alternate: 輪流播放 奇數(shù)正著播放,偶數(shù)反著播放
⑤簡寫方式
animation: name duration timing-function delay count direction
⑥動畫的填充方式
animation-fill-mode:
取值:
backwards 延遲時間內(nèi),填充動畫的第一幀
forwards 動畫播放完畢后,填充動畫最后一針
both 都填
⑦動畫的暫停和播放
animation-play-state:
取值:
paused;暫停
running 播放

動畫兼容
如果要兼容低版本瀏覽器,需要在動畫聲明前加前綴
@keyframes 動畫名稱{}
@-webkit-keyframes 動畫名稱{}
@-ms-keyframes 動畫名稱{}
@-moz-keyframes 動畫名稱{}
@-o-keyframes 動畫名稱{}
動畫[2]

六. css優(yōu)化
css優(yōu)化的目的

1.減少服務(wù)器壓力
2.提升用戶體驗

1.css優(yōu)化的原則

盡量的減少http請求個數(shù)
頁面的頂部引入css
將css和js放到外部單獨文件中

2.css代碼優(yōu)化

合并樣式(能寫群組就不單獨寫,用戶簡寫方式,就把單獨定義屬性).
縮小樣式文件大小
減少樣式的重寫
選擇更優(yōu)質(zhì)的樣式屬性值
代碼壓縮
避免出現(xiàn)空的src和href

七 css reset和normalize.css

什么是css reset

html標(biāo)簽,在各個瀏覽器中的默認(rèn)樣式不同
為了統(tǒng)一的開發(fā),吧默認(rèn)樣式統(tǒng)一化,這個行為叫css reset
可以自己寫,也可以找業(yè)內(nèi),比較有名的css reset代碼
自己寫:
內(nèi)外邊距清0,
input去邊框和輪廓
a標(biāo)簽下劃線
em i不要斜體
ol ul去點
默認(rèn)字號,字體系列

2.css reset 弊端

市面上css 實現(xiàn)了html默認(rèn)樣式高度一致性
吧不同的瀏覽器默認(rèn)樣式,進(jìn)行高度統(tǒng)一
但是這種處理過于霸道,把一些需要保留的默認(rèn)樣式也清除掉了

3.關(guān)于css reset優(yōu)化方案(不是必須)

normalize.css是一種現(xiàn)代的,為html5準(zhǔn)備的優(yōu)質(zhì)替代方案
保留了一些可以保留的默認(rèn)樣式,而不是霸道的清除
normalize.css相對平和
不講究統(tǒng)一,關(guān)注通用性和可維護(hù)性

附加

雪碧圖,精靈圖

如果頁面出現(xiàn)的小圖標(biāo)比較的多
一般不使用img一個一個的
吧說有的圖合成在一個
使用背景與背景定位
目的:有效的減少http請求的次數(shù)


  1. 1.找到寫樣式的元素:從外往里,上往下,左往右
    2.尺寸和大體位置
    3.邊框黑背景
    4.文本相關(guān)所有
    5.微調(diào) ? ?

  2. https://daneden.github.io/animate.css/ ?

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

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

  • 一.概述Cascading style sheets 層疊樣式表作用:html:負(fù)責(zé)頁面結(jié)構(gòu)的搭建,內(nèi)容的展示...
    栗子樹下_閱讀 1,482評論 0 0
  • CSS參考手冊 一、初識CSS3 1.1 CSS是什么 CSS3在CSS2.1的基礎(chǔ)上增加了很多強(qiáng)大的新功能。目前...
    沒汁帥閱讀 4,284評論 1 13
  • 查看瀏覽器是否支持CSS3屬性:https://caniuse.com/ 1.利用CSS實現(xiàn)三角形和梯形 2.CS...
    X1028閱讀 322評論 0 0
  • 本文目錄 1.font:綜合設(shè)置字體樣式 2.CSS復(fù)合選擇器(交集并集后代子代) 3.CSS 三大特性(層疊性繼...
    前端輝羽閱讀 747評論 0 7
  • (1). 陰影模糊半徑與陰影擴(kuò)展半徑的區(qū)別:陰影模糊半徑:此參數(shù)可選,其值只能是為正值,如果其值為0時,表示陰影不...
    Leisure_blogs閱讀 1,654評論 0 6

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