CSS

[TOC]

CssNotes

1、HTML5樣式嵌入方法

外部(推薦)<link>標簽 <link rel="stylesheet" type="text/css" href="css/layout.css">
內(nèi)部 在html中使用<style></style>
內(nèi)聯(lián)(不推薦)在標簽內(nèi)部,寫style=“background: red; border-radius:256px;”

2、css優(yōu)先級

1 內(nèi)聯(lián)style
2 id選擇器
3 class選擇器
4 標簽

3、css長度單位

1 px
2 em

4、css選擇器

1 常用選擇器
    > 標簽選擇器 span {}
    > id選擇器 #id {}
    > 類選擇器  .class {}
    > 關聯(lián)選擇器 由父類里面找子類的子類,使用空格
    > 組合選擇器 使用“,” 選擇多個不同的父類里面的子類
2 基本選擇器
    > :first-child  第一個元素
    > :first-letter 第一個字符
    > :first-line   第一行
    > :last-child   最后一個元素  
    > :nth-child(2) 第幾個元素,括號內(nèi)可以選擇
3 層級選擇器
    > a,b   組合
    > a b   后代中所有的
    > a>b   子元素(不包括孫子級別)
    > a+b   后面的(不是里面的)
4 偽類選擇器
    > :hover    當鼠標移動到其上方的時候,其樣式進行改變
    > :focus    獲取焦點 如input
    > ::selection   被選擇的時候,如文本的選擇時可以進行操作
5 屬性選擇器
    > [id]          該標簽含有該屬性就夠了,如input[name] {}指的是,選擇input標簽中含有name屬性的標簽
    > [id=use1]     該標簽的屬性為,如:input[name=username]{}
    > [name*=us]    該屬性中含有后面的字符的,如:input[name*=us]{},指的是name屬性中包含有"us"字符的
    > [name^=en]    選擇該屬性以“en”開頭的
    > [name$=en]    選擇該屬性以“en”結束的
    。。。還有很多,具體參考API文檔

5、常見的樣式屬性和值

1 字體與顏色
    font-family     字體類型,如: 宋體、黑體、微軟雅黑,默認為宋體
    font-size       字體大小,
    font-style      字體樣式,是正常,還是斜體 normal、italic
    font-weight     字體粗細,bold為粗體,默認為正常

    可以自定義字體,如下,自定義了font-family為“zcx”的字體類型
    @font-face {
        font-family:zcx;
        src:url('zcx.ttf');
    }

2 背景屬性
    background-color
    background-image
    background-repeat       重復,比如圖比較小,可以使用多個 可以為 no-repeat
    background-attachment   fiexed(固定)  scroll(跟著滾動)適用于body對div不兼容
    background-position 
        水平:left center right ,垂直:top center bottom 
        50% 50%
        500px 700px
    可以縮寫,對其顏色 no-repeat 位置等進行一行寫完。

3 文本屬性
    letter-spacing  字間距
    word-spacing    詞間距
    text-decorationg    none、underline、overline、line-through
    text-align      文本居中,left、center、right
    text-index      p標簽段落首行縮進
    line-height     文本的高
    color           文本顏色
    word-break      自動換行,中文會自動換行,英文不會,因此可以使用break-all

    *若文本溢出文本框,則可以使用 overflow:auto,可以自動出現(xiàn)滾動條

4 邊框屬性
    border-style    none、hidden、dotted、dashed、solid、double、groove(凹進去)、ridge(凸出來)、inset(凹進去的)、outset(凸出來的)
    border-width    
    border-color
    border-bottom   設置底部邊框的樣式
    border-left     設置左側邊框的樣式
    border-right
    border-top

5 鼠標光標屬性 cursor:
    crosshair   十字形狀
    pointer     小手形狀
    text        文本形狀
    wait        等待形狀
    default     默認形狀
    help        幫助形狀

6 列表樣式 <ul> <li>
    list-style-type: none、disc、circle、square、decimal、lower-roman、upper-roman、lower-alpha、upper-alpha
    
    定寬、定高的效果:min-width(當再更小的時候,會出現(xiàn)滾動條)

    textarea文本域【cols 和 rows 表示 寬 和 高 】
        resize:none 文本框不能拖動調(diào)動大小  可設置width 和 height

    樣式繼承:
        文字樣式、顏色、大小繼承【文本屬性】可以繼承

    表格:<table> <tr> <th> <td>    border、width、cellspacing
        border-collaps: collaps表格邊框是否合并
        border-spacing  表格邊框之間的距離

7 定位屬性
    position:【脫離文檔流】
        absolute    不占位置    坐標系為瀏覽器左上角
        relative    占位置 坐標系為自己左上角   
        實現(xiàn)div絕對位置方法:父div的position為relative,子div的position為absolute
        【即為:若absolute外層為relative,則其位置top,left為相對于外層relative的位置,否則為相對于瀏覽器的位置】
    top     left    z-index

8 內(nèi)外邊距
    外邊距 margin
    內(nèi)邊距 padding

9 浮動和清除浮動
    float:  浮動 脫離文檔流,不占位
        塊標簽,設置float值,則不會自動變行        可以使用ul設置導航菜單。
        例子:ul中所有的li都設置為浮動,若不設置ul標簽的高度,ul會自動設置高度為0,此時在ul中添加一個div標簽,并設置“style='clear:both'”即可。
    clear:  一般用于clear:both,在盒子所有的子盒子都浮動起來的時候,將盒子撐開。

10 滾動條
    overflow:   scroll、auto、hidden

11 顯示和隱藏
    display: 
        none    看不見,且不占位    
        block   以塊標簽進行顯示
        inline  以行標簽進行顯示    
    visibility: hidden  看不見,但占位     visible

12 CSS3 
    邊框樣式:
        border-radius 圓角直徑(1個值 2個值 3個值 4個值)
        box-shadow  右下角陰影(5個值 前兩個為位置,第三個為模糊值,第四個為外延值,第五個為顏色)
        border-image:   url('b.png') 26 26 round ,不要忘了加上“border 26px solid transparent”
    背景樣式:
        background-size 背景圖的大小 
        background-origin : padding-box、border-box、content-box
    文本樣式:
        text-shadow     字的陰影
        word-wrap   break-world 折行
    字體樣式:
        可以自定義字體,如下,自定義了font-family為“zcx”的字體類型
        @font-face {
            font-family:zcx;
            src:url('zcx.ttf');
        }
    2D樣式:transform
        translate() 相對移動
        rotate()    自身旋轉 70deg  若translate和rotate結合,則斜著走
        scale()     比例,x、y分別變?yōu)樵瓉淼膸妆?,從中心變大?    3D樣式:transform
        rorateX()
        rorateY()
    過渡樣式:
        transition 改變寬高的時間 width 2s 
    分欄樣式:對文本進行分欄
        column-count:   分欄數(shù)目
        column-gap:     分欄中間距離          
        column-rule:    分欄中間線
    輪廓樣式:
        outline: 2px solid #00f
        outline-offset: 離邊框的距離

============================================================================================

1、盒子模型

邊框:border
內(nèi)填充:padding
高度:height
寬度:width
外邊距:margin
/*  padding 內(nèi)邊距
    padding: 10px; 四個邊都是
    padding: 10px 20 px; 上下10px 左右20px
    padding: 10px 20px 30px; 上10px 左右20px 下30px
    padding: 10px 20px 30px 40px; 上 右 下 左

    padding-top
    padding-left
    padding-right
    padding-bottom
*/  
同理,margin外邊距也是一樣的
IE瀏覽器 的內(nèi)容并不是正確的,而是width-border*2 -(padding-left*2),可加一個"!important"字段進行標記,IE選擇下面一個,而普通瀏覽器選擇important

2、頁面布局相關屬性

position屬性
    為absolute時,其位置為相對于瀏覽器的絕對位置,需要配合top、left來使用【一般結合js來使用,漂浮的廣告來用=。=】
    為relative時,位置為相對位置其本來默認的位置。
    static(靜態(tài))為position默認值
    fixed(固定),頁面上下滑動的時候,其位置不發(fā)生任何的變化
z-index
text-align: left right center                           【內(nèi)容】橫向居中
line-height: 100px【此時不使用height,直接使用line-height  【內(nèi)容】垂直居中(或者內(nèi)加padding)
display屬性
    block:當span這種非塊級區(qū)域的標簽要進行換行時可以使用
    inline:當div這種塊級標簽想要不換行時可以使用,兩個都要用【現(xiàn)在沒用????】
    none: 隱藏,其該元素的位置沒了
visibility屬性
    inherit 子層繼承父層的可見性
    visible 無論父層是否可見,子層都可見
    hidden  無論父層是否可見,子層都不可見
overflow屬性
    hidden  超出框的部分隱藏
    scroll  超出部分加上滾動條
    auto    若超出,則加滾動條,不超出,則不加滾動條
float屬性 漂浮
    left right 上層有空間就在上層,如果沒有,會自動下去 會自動換行
clear屬性
    left right both
    清除指定元素的指定方向的漂浮

3、多列浮動

1 設置一列浮動,一列div盒子居中:讓左右自動
    margin-left:auto    margin-right:auto 
    margin:0 auto
2 設置兩列浮動
    float: left  right
3 設置三列浮動
    float: left right,同時設置 margin-left或者margin-right的距離  【千萬不要忘了float】
4 設置多列浮動
    float都設置為left

display: block;和display: inline;的區(qū)別

block元素特點:

1.處于常規(guī)流中時,如果width沒有設置,會自動填充滿父容器 2.可以應用margin/padding 3.在沒有設置高度的情況下會擴展高度以包含常規(guī)流中的子元素 4.處于常規(guī)流中時布局時在前后元素位置之間(獨占一個水平空間) 5.忽略vertical-align

inline元素特點

1.水平方向上根據(jù)direction依次布局 2.不會在元素前后進行換行 3.受white-space控制 4.margin/padding在豎直方向上無效,水平方向上有效 5.width/height屬性對非替換行內(nèi)元素無效,寬度由元素內(nèi)容決定 6.非替換行內(nèi)元素的行框高由line-height確定,替換行內(nèi)元素的行框高由height,margin,padding,border決定 6.浮動或絕對定位時會轉換為block 7.vertical-align屬性生效

link與@import的區(qū)別

link是HTML方式, @import是CSS方式
link最大限度支持并行下載,@import過多嵌套導致串行下載,出現(xiàn)FOUC
link可以通過rel="alternate stylesheet"指定候選樣式
瀏覽器對link支持早于@import,可以使用@import對老瀏覽器隱藏樣式
@import必須在樣式規(guī)則之前,可以在css文件中引用其他文件

溢出省略“...”

.ellipsis{display:block !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
text-overflow屬性僅是注解,當文本溢出時是否顯示省略標記。并不具備其它的樣式屬性定義。我們想要實現(xiàn)溢出時產(chǎn)生省略號的效果。
還必須定義:強制文本在一行內(nèi)顯示(white-space:nowrap)及溢出內(nèi)容為隱藏(overflow:hidden)。只有這樣才能實現(xiàn)溢出文本顯示省略號的效果。

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

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,093評論 1 92
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,103評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,423評論 0 11
  • 1.塊級元素和行內(nèi)元素 塊級(block-level)元素;行內(nèi)(內(nèi)聯(lián)、inline-level)元素。 塊元素的...
    饑人谷_小侯閱讀 2,190評論 1 4
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表,主要用...
    寥寥十一閱讀 2,037評論 0 6

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