【前端筆記】☞ CSS 基礎

来源:http://www.cnblogs.com/bossren/archive/2017/09/04/7472409.html
-Advertisement-
Play Games

1. 什麼是CSS CSS的全稱是Cascading Style Sheets,層疊樣式表。它用來控制HTML標簽的樣式,在美化網頁中起到非常重要的作用。 CSS的編寫格式是鍵值對形式的,比如 color: red; background-color: blue; font-size: 20px; ...


1. 什麼是CSS

  • CSS的全稱是Cascading Style Sheets,層疊樣式表。它用來控制HTML標簽的樣式,在美化網頁中起到非常重要的作用。

  CSS的編寫格式是鍵值對形式的,比如    

color: red;

background-color: blue;

font-size: 20px;

  冒號左邊的是屬性名,冒號右邊的是屬性值。

  CSS遵循一個規律:就近原則(同一個樣式出現多次定義,以離內容最近的為準)、疊加原則(同一個樣式只出現一次定義,以出現的為準)

2. CSS3種書寫形式

  1》行內樣式:(內聯樣式)直接在標簽的style屬性中書寫

    <body style="color: red;">

  2》頁內樣式:在本網頁的style標簽中書寫

<style>

  body {

    color: red;

  }

</style>

  3》外部樣式:在單獨的CSS文件中書寫,然後在網頁中用link標簽引用

    // relation 關係, 要告訴瀏覽器導入的是什麼東西。(層疊樣式表)

    <link rel="stylesheet" href="index.css">

3. CSS的兩大重點

  屬性:通過屬性的複雜疊加才能做出漂亮的網頁

  選擇器的作用:通過選擇器找到對應的標簽設置樣式(選擇器就是用來找網頁中的標簽,去設置樣式)

1》標簽選擇器
    /* 1.標簽選擇器 */
    div {
        color: red;
    }
    p {
        color: blue;
    }
    <div>11111</div>
    <p>222222</p>
2》類選擇器的格式 /* 2.類選擇器 */ .one { color: yellow; } <div class="one">3333333</div> <p class="one">444444</p>
3》id選擇器的格式 /* 3.id選擇器 */ #first { font-size: 40px; } <div id="first">555555</div> <!--id選擇器只能用一次,是唯一標識,其它地方不能重覆使用--> <!--<div id="first">666666</div>-->
4》併列選擇器 /* 併列選擇器 */ div,.one { color: blue; } 說明:併列選擇器是一種合併寫法,即把多個標簽相同的樣式合併寫到一起。
5》複合選擇器 /* 複合選擇器 */ div .one { background-color: lightgray; } #first div { color: #84ffdb; } 說明:複合選擇器是一種縮小定位範圍的寫法,方便快速定位。(首先先找div標簽,然後再在div標簽里去找設置了one的類選擇器。)
6》直接後代選擇器 /*直接後代選擇器*/ div > p { color: red; } 說明:定位div裡面的p標簽,包括所有兒子級的p標簽,不包括孫子級的p標簽。
7》相鄰兄弟選擇器 /*相鄰兄弟選擇器*/ div + p { color: red; } 說明:定位與div併列同級且最近的一個p標簽。
8》屬性選擇器 /*屬性選擇器,定位帶name屬性的div */ div[name] { color: red; } /*屬性選擇器,定位 name屬性值為zhangsan div */ div[name="zhangsan"] { color: blue; } /*屬性選擇器,定位帶 name屬性和age屬性 的div */ div[name][age]{ color:gray; } <!--div有一個name屬性--> <div name="zhangsan">11111</div> <div name="lisi">22222</div> <!--div有兩個屬性:name和age-->    <div name="wangwu" age="23">333333</div>
9》偽類 在選擇器後加上“:屬性”,當這個屬性被觸發的時候,可以去改變選擇器對應標簽的樣式。 標簽:屬性 { 樣式 }   
    div {
        background-color: red;
        width: 300px;
        height: 300px;
    }
    /* 偽類:當滑鼠放到div區域上時,改變div的樣式 (webView不支持,點擊才能看到效果)*/
    div:hover {
        background-color: green;
        width: 100px;
        height: 100px;
    }
    /* 偽類:輸入框獲得焦點(處於編輯狀態)時,改變input邊框的樣式 */
    input:focus {
        /* 去掉外邊框的藍色 */
        outline: none;
        /* 邊框:是一個複合屬性。(1.邊框寬度 2.邊框樣式:實線solid、虛線dashed、雙環線double 3.邊框顏色) */
        border: 1px solid yellow;
  }

4. 選擇器的優先順序

  選擇器的針對性越強範圍越小,它的優先順序就越高

  如:id選擇器 > 類選擇器 > 標簽選擇器

  /* 強制改變優先順序用important,important優先順序最高,設置body標簽里所有文字為黑色 */

* {

    color:black !important;

}

5. CSS屬性

  CSSN多屬性,根據繼承性,主要可以分為2大類

  1可繼承屬性

    父標簽的屬性值會傳遞給子標簽

    一般是文字控制屬性

body {

    font-size: 30px;

    color: red;

    /*字體加粗*/

    font-weight: bolder;

}

下麵列舉一些可繼承屬性(紅色表示常用):

  1. 所有標簽可繼承

    visibility(隱藏內容)cursor(游標樣式)

  1. 內聯標簽可繼承

    line-heightcolorfontfont-family(文字字體)font-sizefont-weight(文字加粗)text-decoration(文字下劃線)letter-spacingword-spacingwhite-spacefont-stylefont-varianttext-transformdirection

    /*去掉標簽的下劃線*/

    text-decoration: none;

  1. 塊級標簽可繼承

    text-indent(文字首行縮進)text-align內容水平居中

  1. 列表標簽可繼承

    list-style(列表樣式)list-style-typelist-style-positionlist-style-image

   

div {

    background-color: red;

    width: 300px;

    height: 300px;

    /* 隱藏標簽的內容和結構 */

    /* display: none; */

    /* 隱藏標簽的內容,保留標簽的結構,占位 */

    visibility: hidden;

    

    /*規定游標的樣式(游標移到div上顯示):pointer手指(跳轉/超鏈接用);crosshair十字架(畫圖/畫區域用)*/

    cursor: pointer;

}

 


 

p {

    color: blue;

    /* 段落首行縮進(根據像素/比例進行縮進)*/

    text-indent: 3%;

}

 

ul {

    /*列表樣式屬性:none無;square方塊;circle圓*/

    list-style:square;

}

 


 

  2不可繼承屬性

父標簽的屬性值不能傳遞給子標簽

一般是區塊控制屬性

 

    下麵列舉一些不可繼承屬性(紅色表示常用):

displaymarginborderpaddingbackground(背景)

heightmin-heightmax-heightwidthmin-widthmax-width

overflowpositionleftrighttopbottomz-index

floatclear

table-layoutvertical-align

page-break-afterpage-bread-before

unicode-bidi

 


 

div {

    /*背景屬性:可以直接設置顏色,也可以設置圖片*/

    /*background: red;*/

    background: url("img/a.png");

    /*背景圖片大小:自適應標簽的大小*/

    background-size: cover;

}

 


 

div {

    background-color: red;

    width: 100px;

    height: 30px;

    /* 溢出屬性(內容超過顯示的大小):auto 超出範圍的部分自動滾動顯示(類似於滾動視圖)hidden 超出範圍的部分隱藏 */

    overflow: auto;

}

6. CSS3新增的屬性

  1》RGBA透明度

div {

    /* RGB透明度 */

    /* font-size: 9pt; color: gray; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;" lang="en-US"> rgb(255,58,15); */

    background-color: rgba(255,56,14,1.0);

    /* 設置不透明度 */

    opacity: 0.2;

}

  2》陰影

    標簽陰影:

    /* 塊(標簽)陰影:水平陰影的位置 垂直陰影的位置 模糊距離 陰影的顏色 */

    box-shadow: 5px 5px 10px red;

    文字陰影:

    /* 文字陰影:水平陰影的位置 垂直陰影的位置 模糊距離 陰影的顏色 */

    text-shadow: 5px 5px 10px #111534;

  3》邊框

    /* 邊框屬性:邊框寬度 邊框樣式(實線、虛線、雙環線) 邊框顏色 */

    border: 20px solid yellow;

    /* 邊框的圓角半徑 */

    border-radius: 10px;

7. 盒子模型

  網頁上的每一個標簽都是一個盒子

  

  每個盒子都有四個屬性:

  1內容(content

    盒子里裝的東西

    網頁中通常是指文字和圖片

  2填充(padding,內邊距)

    怕盒子里裝的(貴重的)東西損壞,而添加的泡沫或者其它抗震的輔料

  3邊框(border):盒子本身

  4邊界(margin,外邊距)

    盒子擺放的時候的不能全部堆在一起,盒子之間要留一定空隙保持通風,同時也為了方便取出

  

  W3C標準盒子模型:寬高是內容的寬度和高度

   

  微軟的標準盒子模型:寬高是盒子的寬度和高度

  

  邊距屬性:(padding內邊距; margin,外邊距),複合屬性,依次設置上右下左。

  

  

  

一、標簽水平居中:

1》行內標簽、行內塊級標簽:

    /* 當前標簽的內容水平居中 */

    text-align: center;

2》塊級標簽:

    /*水平居中(左右邊距自動),用於塊級標簽*/

    margin: 0px auto;

 

二、標簽垂直居中:

div {

    background-color: red;

    width: 500px;

    height: 300px;

    /* 設置行高:值等於height,垂直居中 */

    line-height: 300px;

}

 

  複習CSS常用的屬性

  

8. CSS佈局

預設情況下,所有的網頁標簽都在標準流佈局中

  從上到下,從左到右

脫離標準流的兩種方法:

  1float屬性

    float屬性的常用取值有

      left:脫離標準流,浮動在父標簽的最左邊

      right:脫離標準流,浮動在父標簽的最右邊

    應用場景(用於製作菜單欄):

      

  2position屬性(浮動在父標簽的任意位置) 結合 leftrighttopbottom屬性來使用

          

    註意:如果是相對於body來浮動,無需再設置父標簽的position

       

       


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • webkit內核瀏覽器DIV滾動條樣式修改和設置 引言: 最近在做自己的小項目,為了設計出好看的頁面費勁了心思,大到頁面的整體佈局,小到DIV的滾動條都不放過,以下是我通過查閱資料總結的webkit內核瀏覽器滾動條樣式的修改方法。 原理: webkit瀏覽器css設置滾動條主要有下麵7個屬性 1. ...
  • 1. 什麼是JavaScript JavaScript是一門廣泛用於瀏覽器客戶端的腳本語言 由Netspace公司設計,當時跟Sun公司合作,所以名字起得像Java 業內一般簡稱JS 2. JS的常見用途 1》能進行HTML的DOM操作,也稱節點(標簽元素)操作。 比如添加、修改、刪除節點,JS可以 ...
  • 源碼 https://github.com/2016Messi/Gorgeous clock 效果展示 https://2016messi.github.io/Gorgeous clock/ 如果各位博友覺得效果不錯,歡迎star ...
  • 用純js畫一棵樹。思路: 1、一棵樹的圖片,作為頁面背景; 2、通過html5中的canvas畫布進行遮罩; 3、定時每隔10ms,從下往上清除1px的遮罩; 畫的過程如下: ...
  • 數組常用方法總結: 下麵我只總結了es3中常用的數組方法,一共有11個。es5中新增的9個數組方法,後續再單獨總結。 1個連接數組的方法:concat() 2個數組轉換為字元串的方法:join()、toString() 6個增刪數組元素的方法:pop()、push()、shift()、unshift ...
  • 一、增加 1.push() 語法:arrayObject.push(newele1,newele2,…,neweleX); 功能:將push中的參數添加到arrayObject的尾部 返回值:把指定的值添加到數組後的新長度 例: var arr = [8,7,5,2,8,4,3]; var arrL ...
  • 裡面封裝了很多組件、字體圖標、和標簽常用的一些樣式。我們直接使用即可。 下載地址: http://www.bootcss.com/ 包下載地址(用於生產環境的 Bootstrap):https://github.com/twbs/bootstrap/releases/download/v3.3.7/ ...
  • AJAX跨域的問題很常見,有較多的解決辦法如:jsonp,設置服務端允許跨域,給請求加代理等等解決方式,我項目中常用node.js搭建中間代理的方式解決。下麵我將嘗試採用nginx做代理的方式解決跨域的問題。第一步:搭建Server API,其中未設置允許跨域。get方法,返回英雄列表。(http:... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...