css款式

居中

規劃中居中是很重要的手藝,掌握居中的技能,對規劃相稱重要

  /* flex 垂直 居中 */
    *{
        margin: 0;
        padding: 0;
    }
    .container{
        height: 100vh; /* 重要語法 */
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item{
        width: 200px;
        height: 200px;
        background: green;
        line-height: 200px;
        text-align: center;
        font-size: 40px;
        color: #ffffff;
    }

input

input[type="text"] {
    outline : none; /* 去除外邊框 */
    padding : 0; /* 去除內邊距 */
}
/* 運用 number 時,安卓下能夠調出数字鍵盤,而且只能輸入数字,蘋果手機不能夠。 */
input[type="number"] {
    outline : none; /* 去除外邊框 */
    padding : 0; /* 去除內邊距 */
    -moz-appearance: textfield; /* 去除 高低自旋按鈕 */
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-outer-spin-button{
    -webkit-appearance: none; /* 去除 高低自旋按鈕 */
}

/* 在蘋果手機中須要 運用 form */
input[type="search"]::-webkit-search-cancel-button{
    display:none; /* 去除小差號 */
    -webkit-appearance: textfield; /* 去除默許款式 */
}

background

/**
*  運用 background-image 能夠指定多圖片, 須要離別運用指定相干屬性,如position、repeat  
*/
E{
    background-image: url(xxx.jpg), url(xxx.png), ...; /* 圖片途徑*/
    background-position: 0 0, 10 10, ...; /* 與圖片途徑一致 */
    background-repeat: no-repeat, repeat-x, repeat-y, ...; /* 與圖片途徑一致 */
    background: #fff url(xxx.png) center no-repeat; /* 背景色與背景圖片 複合寫法*/ 
}

box-shadow

/* 
* box-shadow: h-shadow v-shadow blur spread color inset; 
*/
E{
  box-shadow: 0 0   
}

1.h-shadow : 必須。程度暗影的位置。許可負值。[ 相對於近來邊境的位置 ]
2.v-shadow : 必須。垂直暗影的位置。許可負值。[ 相對於近來邊境的位置 ]
3.blur : 可選。隱約長度 [ 現實長度是給定長度的一半 ]
4.spread : 可選。暗影的尺寸。[ 能夠為負值 ]
5.color : 可選。暗影的色彩。請參閱 CSS 色彩值。
6.inset : 可選。將外部暗影 (outset) 改成內部暗影。

申明:
1.h-shadow 與 v-shadow 都為 0 時示意不偏移,示意周圍散布
2.blur : 示意隱約長度,現實隱約距離是設置值的一半
3.設置指定邊,重要掌握程度和垂直暗影的位置,能夠離別指定沒有個方向的暗影位置如離別指定四邊:
.box{ box-shadow: 0 -2px 0 0 red, 2px 0 0 0 red, 0 2px 0 0 red, -2px 0 0 0 red;}
4.能夠運用該屬性替換 border 的邊框屬性,優點是暗影不佔空間,動效不會湧現挪動
如:
box{background:green;width:200px;height:200px;}
// 做了位置處置懲罰,不然會對規劃形成影響
.box1:hover{border:2px solid #ffffff;box-sizing:border-box;position:relative;top:-2px;left:-2px; }
.box2:hover{box-shadow:0 0 0 2px #ffffff;}

font

1.font-size-adjust : 設置字體在小字體時更易讀,
比方,設置字體為100px,那末設置值為0.58,也就是小尺寸時是58px,如許顯現更易讀。概況

2.-webkit-text-size-adjust手機默許是 auto, 自動調治字體大小,平常狀況須要封閉該功用,設置 none 或 100% 值,不然可能會致使款式出問題。

user-modify

user-modify有三個屬性值:write-only(只寫)、read-write(讀寫)、read-only(只讀),用於一般元素的可編輯性和concenteditable屬性功用相似。運用時須要加瀏覽器前綴。測試發明火狐並不支撐

visibility

與opacity區分在於,當運用時屬性設置為hidden,佔有空間,然則不會影響事宜的觸發。比方一個運用了hidden屬性的元素完整遮掩了別的的元素,被遮掩的元素事宜依舊一般觸發。而且自身自身的事宜不會觸發。經由過程設置visible屬性顯現元素

flex

邃曉 flex 規劃起首邃曉捉住2點

第一:父盒子屬性。在父盒子中邃曉 2 個軸。

程度方向

flex-direction : 屬性決議主軸的方向(即項目的分列方向)
    row : 橫向,按元素遞次,居左[主軸為程度方向,出發點在左端]
    row-reverse :橫向,倒序,居右[主軸為程度方向,出發點在右端]
    column :縱向,按元素遞次,[主軸為垂直方向,出發點在上沿]
    column-reverse : 縱向,倒序[主軸為垂直方向,出發點鄙人沿]

flex-wrap : 默許狀況下,項目都排在一條線(又稱"軸線")上。flex-wrap屬性定義,假如一條軸線排不下,怎樣換行
    nowrap : (默許)不換行,盒子會自適應
    wrap : 換行,第一行在上方
    wrap-reverse : 換行,第一行鄙人方

flex-flow :<flex-direction> || <flex-wrap> 兼并寫法

justify-content : 屬性定義了項目在主軸上的對齊體式格局,掌握程度方向
    flex-start : 左對齊
    flex-end : 右對齊
    center : 程度居中
    space-between : 子元素距離相稱並自適應
    space-around : 子元素兩頭距離自適應 

垂直方向

align-items : 屬性定義項目在交織軸上怎樣對齊,掌握垂直方向
    flex-start : 上對齊
    flex-end : 下對齊
    center : 垂直居中
    baseline : 筆墨低端對齊
    stretch : 假如項目未設置高度或設為auto,將佔滿全部容器的高度( 默許值 )

align-content :屬性定義了多根軸線的對齊體式格局。
 假如項目只要一根軸線,該屬性不起作用。( 多個軸 ),掌握垂直方向
    flex-start : 多軸上對齊
    flex-end : 多軸高低對齊
    center : 多軸居中
    space-between : 兩頭對齊,均分盈餘空間

第二:子盒子屬性


order : 指定元素權重,默許為 0,權重越大,對應的元素越靠後。在運用時注重 flex-direction 的屬性值

flex-grow :定義項目的放大比例,默許為0,即假如存在盈餘空間,也不放大。
        分派空間的權重,按權重比均分盈餘空間(注重是寬度,不包括 padding 和 margin )

flex-shrink : 定義了項目的減少比例,默許為1,即假如空間不足,該項目將減少。
        值為 0 :不減少

flex-basis :定義了在分派過剩空間之前,項目佔有的主軸空間(main size)。
瀏覽器依據這個屬性,盤算主軸是不是有過剩空間。它的默許值為auto,即項目的原本大小

flex : 是flex-grow, flex-shrink 和 flex-basis的簡寫,默許值為0 1 auto。后兩個屬性可選。

align-self : 屬性許可單個項目有與其他項目不一樣的對齊體式格局,可掩蓋align-items屬性。
 默許值為auto,示意繼續父元素的align-items屬性,假如沒有父元素,則等同於stretch。[注重換行]
    auto :默許值
    flex-start :上對齊
    flex-end :下對齊
    center : 垂直居中
    baseline : 文本基線對齊(設置一切的item)

其他

 1. 去除蘋果點擊事宜的灰色暗影:-webkit-tap-highlight-color: rgba(0,0,0,0);有些元素須要設置背景色。
 2. 溢出湧現省略號 : white-space: nowrap;text-overflow: ellipsis;overflow: hidden;
 3. 指定寬度数字不換行,須要指定換行屬性:overflow:hidden; word-wrap:break-word;
 4. 筆墨膩滑:-webkit-font-smoothing:none: 無抗鋸齒;subpixel-antialiased (default): 次像素膩滑 常見於Mac OS和MacType For Windows;antialiased: 灰度膩滑 常用於Android和iOS等挪動裝備的

自適應

    var dpr = window.devicePixelRatio; // 密度
    var scale = 1 / dpr; // 縮放比
    var metaEle = document.createElement('meta');
    var headEle = document.querySelector('head');
    var rootEle = document.querySelector(':root');
    metaEle.setAttribute('name', 'viewport');
    metaEle.setAttribute('content', 'width=device-width,initial-scale=' + scale + ',maximum-scale='+ scale +',user-scalable=no');
    headEle.appendChild( metaEle );
    (setFontSize = function (){
        rootEle.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';
    })();
    window.addEventListener( 'resize', setFontSize );
    原文作者:心語花束
    原文地址: https://segmentfault.com/a/1190000014978351
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞