Hybrid App開發之css樣式使用


前言:

    前面學習了html,今天學習一下css的基本使用,看下html與css之間是如何結合來編寫前端網頁的。

CSS 是什么? 

 CSS 是 Cascading Style Sheets(級聯樣式表)的縮寫。 CSS 是一種樣式表語言,用於為 HTML 文檔定義布局。例如,CSS 涉及字體、顏色、邊距、高度、寬度、 背景圖像、高級定位等方面。

CSS 跟 HTML 的區別在哪里? 

 HTML 用於結構化內容;CSS 用於格式化結構化的內容。 

采用 CSS 有哪些好處? 

 CSS 是 Web 設計界的一次革命。CSS 的具體優點包括:

  • 通過單個樣式表控制多個文檔的布局;
  • 更精確的布局控制;
  • 為不同的媒體類型(屏幕、打印等)采取不同的布局;
  • 無數高級、先進的技巧。

基本的 CSS 語法 

先舉個簡單的例子,比如我們要為一個網頁設置一個背景色

采用html方式我們會給body添加下面屬性

<body bgcolor="aliceblue">

采用css方式

 <style type="text/css">
    body{
      background-color: aliceblue;
    }
 </style>

上例也向你展示了基本的 CSS 模型

selector:{property:value}
  • selector選擇器代表花括號中的屬性設置將應用於哪個html元素
  • property 屬性 設置html標簽的屬性

  • value 值 設置html標簽屬性的值

為一個 HTML 文檔應用 CSS

為HTML文檔應用CSS有以下三種方法可供選擇。下面對這三種方法進行了概括。我們建議你對第三種方法 (即外部樣式表)予以關注。

  • 行內樣式表(style 屬性)

  • 內部樣式表(style 元素)

  • 外部樣式表(引用一個樣式表文件)

下面以給段落設置字體顏色和字體大小為例說明三種使用方式

 1.)行內樣式表(style屬性)

為 HTML 應用 CSS 的一種方法是使用 HTML 屬性 style

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css樣式</title>
</head>
<body>

<div>
    <p style="color: green;font-size: 5rem ">
        行內樣式表
    </p>
</div>
</body>
</html>

2.)內部樣式表(style 元素)

為 HTML 應用 CSS 的另一種方法是采用 HTML 元素 style

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css樣式</title>
    <style type="text/css" >
        p{
            color: green;
            font-size: 5rem;
        }
    </style>
</head>
<body>

<div>
    <p>
        內部樣式表
    </p>
</div>

</body>
</html>

3.)外部樣式表(引用一個樣式表文件)

這里推薦采用這種引用外部樣式表的方法,外部樣式表就是一個擴展名為 css 的文本文件。跟其他文件一樣,你可以把樣式表文件放在 Web 服務器 上或者本地硬盤上。 

比如我這里在styles文件中新建一個global.css 目錄如下:

 

然后在index.html的HTML 代碼的頭部(header)中添加引用<link rel="stylesheet" type="text/css" href="../styles/global.css" />

global.css代碼如下:

p{
    color: green;
    font-size: 5rem;
}

index.html代碼如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css樣式</title>

    <link rel="stylesheet" type="text/css" href="../styles/global.css" />

</head>
<body>

<div>
    <p>
        外部樣式表
    </p>
</div>
</body>
</html>

元素的分類與標識

1.)使用css樣式類

用 class 對元素進行分類 ,根據上面的我們可以為標簽<p>創建一個樣式,但是我們一個html網頁中也行會用到好多種樣式<p>標簽,這時怎么辦呢?這時我們可以采用樣式類,為每個標簽創建多個樣式類,比如我們一篇文章,開頭,內容,結尾三個段落的字體顏色不一樣,我們可以創建三個不同需要的樣式類,如下:

p{,
    font-size: 5rem;
}

p.header{
    color: green;
}

p.content{
    color: orangered;
}


p.footer{
    color: blue;
}

從上可以看出一個標簽元素后面加上一個點(.)跟上你的樣式類名稱即可,看下如何在html上使用的,采用class屬性即可選擇使用哪個樣式類。

<div>
    <p class="header">
        這是文章開頭
    </p>
    <p class="content">
        這是文章內容
    </p>
    <p class="footer">
        這是文章結尾
    </p>
</div>

2.)使用樣式id

除了可以對元素進行分類以外,你還可以標識單個元素。這是通過 HTML 屬性 id 實現的。 HTML 屬性 id 的特別之處在於,在同一 HTML 文檔中不能有兩個具有相同 id 值的元素。文檔中的每個 id 值都必須是唯一的。

還接着上面的例子來說明,比如現在我們需要自定一個<p>標簽的title。

p#title{
    color:red;
}

在html中引用

 <p id="title">
    這是文章題目
 </p>

樣式id常用於布局的目的,定義頁面的特殊部門,比如標題區域、頁腳區域,頁面區域。

常用css樣式舉例

1.)顏色與背景 

CSS 屬性 color 用於指定元素的前景色。 

h1{
    color: aliceblue;
}

CSS 屬性 background-color 用於指定元素的背景色。 

body {
    background-color: aliceblue;
}

CSS 屬性 background-image 用於設置背景圖像。 

 body{
    background-image: url("../../images/bg_post_activity_5.png");
 }

上面使用背景圖片發現圖片縱向橫向都平鋪了,使用CSS 屬性 background-repeat 就是用於 控制平鋪的。

  • background-repeat:repeat-x 圖像橫向平鋪
  • background-repeat:repeat-y 圖像縱向平鋪
  • background-repeat:repeat 圖像橫向和縱向都平鋪
  • background-repeat:no-repeat 圖像不平鋪 
body{
        background-image: url("../../images/bg_post_activity_5.png");
        background-repeat:no-repeat;
    }

CSS 屬性 background-attachment 用於指定背景圖像是固定在屏幕上的、還是隨着它所在的元素而滾動的。

一個固定的背景圖像不會隨着用戶滾動頁面而發生滾動(它是固定在屏幕上的),而一個非固定的背景 圖像會隨着頁面的滾動而滾動。

  • background-attachment:scroll 圖像會跟隨頁面滾動——非固定的
  • background-attachment:fixed 圖像是固定在屏幕上的 
body{
    background-image: url("../../images/bg_post_activity_5.png");
    background-repeat:no-repeat;
    background-attachment: scroll;
}

 CSS 屬性 background-position設置圖像放置在屏幕的位置

  • background-position:2cm 2cm 圖像被放置在頁面內距左邊 2 厘米、頂部 2 厘米的地方
  • background-position:50% 25% 圖像被放置在頁面內水平居中、離頂部四分之一處
  • background-position:top right 圖像被放置在頁面的右上角 
body{
    background-image: url("../../images/bg_post_activity_5.png");
    background-repeat:no-repeat;
    background-attachment: scroll;
    background-position:center;
}

CSS 屬性 background 是上述所有與背景有關的屬性的縮寫用法

body{
    background: aliceblue url("../../images/bg_post_activity_5.png") no-repeat scroll center;
}

2.)字體 

CSS 屬性 font-family 的作用是設置一組按優先級排序的字體列表,如果該列表中的第一個字體未在訪 問者計算機上安裝,那么就嘗試列表中的下一個字體,依此類推,直到列表中的某個字體是已安裝的

有兩種類型的名稱可用於分類字體:字體族名稱(family-name)和族類名稱(generic family)。下 面來解釋這兩個術語

  • 字體族名稱(family-name) 字體族名稱(就是我們通常所說的“字體”)的例子包括“Arial”、“Times New Roman”、“宋體”、“黑體”等等。
  • 族類(generic family) 一個族類是一組具有統一外觀的字體族。sans-serif 就是一例,它代表一組沒有“腳”的字體。 
p.header{
    color: green;
    font-family:  華文楷體, 華文宋體,新宋體;
}

CSS 屬性 font-style 定義所選字體的顯示樣式

  • normal(正常)
  • italic(斜體)
  • oblique(傾斜) 
p.header{
    color: green;
    font-family:  華文楷體, 華文宋體,新宋體;
    font-style: italic;
}

CSS 屬性 font-variant 的值可以是:normal(正常)或 small-caps(小體大寫字母)。

p.content{
    color: orangered;
    font-variant: small-caps;
}

CSS 屬性 font-weight 指定字體顯示的濃淡程度。其值可以是 normal(正常)或 bold(加粗)

p.content{
    color: orangered;
    font-variant: small-caps;
    font-weight:bold;
}

CSS 屬性 font-size 來設置字體大小,字體大小可通過多種不同單位(比如像素或百分比等)來設置。

p.content{
    color: orangered;
    font-variant: small-caps;
    font-weight:bold;
    font-size: 2em;
}

一般都會使用px,pt,%,em這四種,‘px’和‘pt’將字體設置為固定大小,而‘%’和‘em’允許頁面瀏 覽者自行調整字體的顯示尺寸

CSS 屬性 font 是上述各有關字體的 CSS 屬性的縮寫用法。 

p.footer{
    color: blue;
    font: bold italic 3em 華文宋體,新宋體;
}

3.)文本

CSS 屬性 text-indent 用於為段落設置首行縮進,以令其具有美觀的格式

p#title{
    color:red;
    text-indent: 20%;
}

CSS 屬性 text-align 與 HTML 屬性 align 的功能相同。該屬性的值可以是:left(左對齊)、right(右 對齊)或者 center(居中)。除了上面三種選擇以外,你還可以將該屬性的值設為 justify(兩端對齊), 即伸縮行中的文字以左右靠齊

p.footer{
    color: blue;
    font: bold italic 3em 華文宋體,新宋體;
    text-align: center;
}

CSS 屬性 text-decoration 令我們可以為文本增添不同的“裝飾”或“效果”。

p.footer{
    color: blue;
    font: bold italic 3em 華文宋體,新宋體;
    text-align: center;
    text-decoration: underline;
}

CSS屬性letter-spacing用於設置文本的水平字間距

p.footer{
    color: blue;
    font: bold italic 3em 華文宋體,新宋體;
    text-align: center;
    text-decoration: underline;
    letter-spacing: 0.50em;
}

CSS 屬性 text-transform 用於控制文本的大小寫。無論字母本來的大小寫,你可以通過該屬性令它首字 母大寫(capitalize)、全部大寫(uppercase)或者全部小寫(lowercase)

p#label{
    color: orangered;
    text-transform: uppercase;
}

鏈接 

上面學習了屬性(比如修改顏色、字體、添加下划線等)也可以用在鏈接標簽上。但不同的是, CSS 允許你根據鏈接是未訪問的、已訪問的、活動的、是否有鼠標懸停等分別定義不同的屬性。這樣, 我們便可為網站增添奇特而有用的效果。你需要通過偽類(pseudo-class)來控制這些效果。 

先看下什么是偽類?

 偽類(pseudo-class)令你可以在為 HTML 元素定義 CSS 屬性的時候將條件和事件考慮在內。

偽類:link 用於瀏覽者從未訪問過的鏈接。 

a:link{
    text-decoration: none;
    color: blue;
}

偽類:visited 用於瀏覽者已訪問過的鏈接

a:visited{
    text-decoration: none;
    color: green;
}

偽類:active 用於活動的鏈接(即獲得當前焦點的鏈接

a:active{
    text-decoration: none;
    color: gold;
}

偽類:hover 用於有鼠標懸停的鏈接

a:hover{
    text-decoration: none;
    color: orangered;
}

組織元素(span 和 div) 

span 和 div 元素用於組織和結構化文檔,並經常聯合 class 和 id 屬性一起使用。
在這一課中,我們將進一步探究 span 和 div 的用法,因為這兩個 HTML 元素對於 CSS 是很重要的。

  • 用 span 組織元素
  • 用 div 組織元素

用 span 組織元素 

span 元素可以說是一種中性元素,因為它不對文檔本身添加任何東西。但是與 CSS 結合使用的話,span 可以對文檔中的部分文本增添視覺效果

用 div 組織元素 

div 可以被用來組織一個或多個塊元素。 

盒狀模型 

CSS 中的盒狀模型(box model)用於描述一個為 HTML 元素形成的矩形盒子。盒狀模型還涉及為各個元 素調整外邊距(margin)、邊框(border)、內邊距(padding)和內容的具體操作。下圖顯示了盒狀 模型的結構:

外邊距和內邊距 

你學習了盒狀模型。在這一課,我們將了解如何通過設置 margin(外邊距)和 padding(內邊 距)這兩個 CSS 屬性來改變元素的顯示

為元素設置外邊距 

一個元素有上(top)、下(bottom)、左(left)、右(right)四個邊。外邊距(margin)表示從一 個元素的邊到相鄰元素(或者文檔邊界)之間的距離

p#label{
    color: orangered;
    text-transform: uppercase;
    margin-top: 5em ;
    margin-right:  3em ;
    margin-bottom:5em ;
    margin-left: 3em;
}

等同於

p#label{
    color: orangered;
    text-transform: uppercase;
    margin: 5em 3em 5em 3em;
}

為元素設置內邊距 

p#title{
    color:red;
    padding: 5em 3em 5em 3em;
}

等同於

p#title{
    color:red;
    padding-top: 5em;
    padding-right: 3em;
    padding-bottom: 5em ;
    padding-left: 3em;
}

邊框 

邊框(border)可以有多種用途,比如作為裝飾元素或者作為划分兩物的分界線。在設置邊框方面,CSS 為你提供了無盡選擇。

  • 邊框寬度由 CSS 屬性 border-width 定義,其值可以是“thin”(薄)、“medium”(普通)或“thick” (厚)等,也可以是像素值。
  • CSS 屬性 border-color 用於定義邊框的顏色。
  • 邊框樣式[border-style] 
p.footer{
    color: blue;
    font: bold italic 3em 華文宋體,新宋體;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.50em;
    border:0.05em dotted gold;
}

高度和寬度 

  • 設定寬度[width] 
  • 設定高度[height] 
p.content{
    color: orangered;
    font-variant: small-caps;
    font-weight:bold;
    font-size: 2em;
    width: 50%;
    height: auto;
}

浮動元素(float) 

我們可以通過 CSS 屬性 float 令元素向左或向右浮動。也就是說,令盒子及其中的內容浮動到文檔(或 者是上層盒子)的右邊或者左邊。比如我們要實現一個圖文混排的效果

定義一個css Id

#picture{
    float: left;
    width: 200px;
}

html代碼

<div>
    <div id="picture">
        <img src="../../images/bg_post_activity_1.png" alt="這是一張圖片" width="200px" >
    </div>
    <p>
        實現圖文混排,實現圖文混排,實現圖文混排,實現圖文混排,實現圖文混排,實現圖文混排,........,實現圖文混排,實現圖文混排,實現圖文混排,

    </p>
</div>

元素的定位 

CSS 定位令你可以將一個元素精確地放在頁面上你所指定的地方

  • 絕對定位 
  • 相對定位 

絕對定位

要對元素進行絕對定位,應將 position 屬性的值設為 absolute。接着,你可以通過屬性 left、right、 top 和 bottom 來設定將盒子放置在哪里。 

   #box1 {
            position:absolute;
            bottom: 50px;
            right: 50px;
    }

html代碼

<div id="box1">
    <p>
        <a href="#" target="_blank">測試css樣式的偽類</a>
    </p>
</div>

總結:

  今天大致學習了一下css的基本使用,以及一些常用的css樣式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM