天天看點

css 縮放_《CSS 知識總結》

css

又稱層疊樣式表,其中css2.1最為廣泛,css3之後便是分子產品更新。

首先在加入css樣式時用

border調試法

,加入邊框便可清楚發生什麼變化,友善我們繼續寫代碼。

1、css的文檔流
  1. 行内元素:inline , 寬度 由内容決定, 高度 由line-height間接決定。
  2. 行内塊元素:inline-block,整個元素是個整體,不會分開, 寬度 由内容和内聯元素總和決定, 高度 由文檔流元素總和決定。
  3. 塊級元素:block,能有多寬,就有多寬, 寬度 :占據整行。 高度 由文檔流元素總和決定。
2、盒模型 box-sizing:content-box/border-box

二者差別前者寬度等于内容,後者寬度等于border+padding+内容。

(小知識)
  • block : margin會合并,上下重疊,左右不重疊。(如果要不合并,可以加border,加padding,加overflow:hidden)
  • 機關:em:font-size的倍數。
  • 顔色:transparent :完全透明。
3、布局 (1)float布局

子元素加float:left和寬度,元素脫離文檔流,父元素必須加上.clearfix

.clearfix:after{
       display:block;
       content:"";
       clear:both;
}
           
小知識 vertical-align:top/middle 消除圖檔下的空隙。 outline:不占位置。 有寬度的塊級元素: auto 左右居中。 使用float做平均布局 (要加入-margin) (2)flex布局

(1)容器:container

(2)内容:items

flex布局分容器樣式和内容樣式,容器樣式有很多種比如:決定方向,是否換行,主軸(justify-conten)的對齊方式,次軸(aligin-items)的對齊方式等。

内容樣式:

order:排列順序(從小到大)預設是0

flex-grow:配置設定多餘空間

flex-shrink:縮小,預設是1,0不能小。

align-self:會對齊目前 flex 行中的元素,并覆寫已有的

algin

-items的值。

(3)grid布局(網格布局)

(1)容器:container

(2)元素:items

列 :grid-template-columns

行:grid-template-rows

grid-template-areas: (劃分)

"a a a"

"b c c"

"b c c";

grid-area:(配置設定)

4、定位 (垂直螢幕方向) 層疊上下文:(最底層到最上層):z-index:-1 ->background ->border ->塊級子元素 -> 浮動元素 -> 内聯子元素(内容)->z-index:1 産生層疊上下文:
  • 文檔根元素(

    <html>

    );
  • position

    值為

    absolute

    (絕對定位)或

    relative

    (相對定位)且

    z-index

    值不為

    auto

    的元素;
  • position

    值為

    fixed

    (固定定位)或

    sticky

    (粘滞定位)的元素(沾滞定位适配所有移動裝置上的浏覽器,但老的桌面浏覽器不支援);
  • flex (

    flexbox

    ) 容器的子元素,且

    z-index

    值不為

    auto

  • grid (

    grid

    ) 容器的子元素,且

    z-index

    值不為

    auto

  • opacity

    (密度)屬性值小于

    1

    的元素;
  • mix-blend-mode

    屬性值不為

    normal

    的元素;

更多請看(

層疊上下文​developer.mozilla.org

css 縮放_《CSS 知識總結》

N/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context)

5、動畫

首先知道浏覽器渲染原理:

  1. 根據HTML建構HTML樹(DOM)
  2. 根據CSS建構CSS樹(CSSDOM)
  3. 将2棵樹合并成一顆渲染樹(render tree)
  4. Layout布局(文檔流、盒模型、計算大小和位置)
  5. Paint 繪制(把邊框顔色,文字顔色,陰影等畫出來)
  6. Composite合成(根據層疊關系展示畫面)

三種更新方法:

css 縮放_《CSS 知識總結》
(1)transition(過渡):屬性名 時長 過度方式 延遲 搭配transform的移動translate, 縮放scale,旋轉rotate等展示動畫 (2)animation: 名字 時長 動畫方式 等屬性

@keyframs 名字{

0%{}

50%()

100%()

}(建立動畫)

以上便是css的總結歡迎補充~

css 縮放_《CSS 知識總結》