1. 程式人生 > >CSS學習—顏色值+小技巧

CSS學習—顏色值+小技巧

最近做的小專案需要搭建一個小網站,因此從 慕課網 上學習HTML+CSS的基礎知識,將接觸到的知識點用這個部落格總結出來。

1.顏色:

在網頁中的顏色設定是非常重要,有字型顏色(color)、背景顏色(background-color)、邊框顏色(border)等,設定顏色的方法也有很多種:

1、英文命令顏色

p{color:red;}

2、RGB顏色:這個與 photoshop 中的 RGB 顏色是一致的,由 R(red)、G(green)、B(blue) 三種顏色的比例來配色。

p{color:rgb(133,45,200);}

每一項的值可以是 0~255 之間的整數,也可以是 0%~100% 的百分數。如:

p{color:rgb(20%,33%,25%);}

3、十六進位制顏色:這種顏色設定方法是現在比較普遍使用的方法,其原理其實也是 RGB 設定,但是其每一項的值由 0-255 變成了十六進位制 00-ff。

p{color:#00ffff;}

配色圖:
這裡寫圖片描述

2.長度值:長度單位總結一下,目前比較常用到px(畫素)、em、% 百分比,要注意其實這三種單位都是相對單位。

1、畫素

畫素為什麼是相對單位呢?因為畫素指的是顯示器上的小點(CSS規範中假設“90畫素=1英寸”)。實際情況是瀏覽器會使用顯示器的實際畫素值有關,在目前大多數的設計者都傾向於使用畫素(px)作為單位。

2、em

就是本元素給定字型的 font-size 值,如果元素的 font-size 為 14px ,那麼 1em = 14px;如果 font-size 為 18px,那麼 1em = 18px。如下程式碼:

/*實現段落首行縮排 24px(也就是兩個字型大小的距離)*/
p{font-size:12px;text-indent:2em;}

但要注意一個特殊情況:

但當給 font-size 設定單位為 em 時,此時計算的標準以 p 的父元素的 font-size 為基礎。如下程式碼:

......
p{font-size:14px}
span{font-size:0.8em;}
......
<p>以這個<span>例子</span>為例。</p>

結果 span 中的字型“例子”字型大小就為 11.2px(14 * 0.8 = 11.2px)。

3、百分比

/*設定行高(行間距)為字型的130%(12 * 1.3 = 15.6px)*/
p{font-size:12px;line-height:130%}

3.居中設定:我們在實際工作中常會遇到需要設定水平居中的場景,比如為了美觀,文章的標題一般都是水平居中顯示的。

這裡我們又得分兩種情況:行內元素 還是 塊狀元素 ,塊狀元素裡面又分為定寬塊狀元素,以及不定寬塊狀元素。

行內元素:
如果被設定元素為文字、圖片等行內元素時,水平居中是通過給父元素設定 text-align:center 來實現的。(父元素和子元素:如下面的html程式碼中,div是“我想要在父容器中水平居中顯示”這個文字的父元素。反之這個文字是div的子元素 )如下程式碼:

<style>
  .txtCenter{
    text-align:center;
  }
</style>
<body>
  <div class="txtCenter">我想要在父容器中水平居中顯示。</div>
</body>

完整示例程式碼:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>定寬塊狀元素水平居中</title>
<style>
div{
    border:1px solid red;
    margin:20px;
}
.txtCenter{
    text-align:center;
}
.imgCenter{
    text-align:center;
}
</style>
</head>

<body>
<div class="txtCenter">我想要在父容器中水平居中顯示。</div>

<div class="imgCenter">
/*圖片連結*/
<img src="http://img.mukewang.com/52da54ed0001ecfa04120172.jpg"/>
</div>
</body>
</html>

這裡寫圖片描述

當被設定元素為 塊狀元素 時用 text-align:center 就不起作用了,這時也分兩種情況:定寬塊狀元素和不定寬塊狀元素。

定寬塊狀元素:塊狀元素的寬度width為固定值

滿足定寬和塊狀兩個條件的元素是可以通過設定“左右margin”值為“auto”來實現居中的。如設定 div 這個塊狀元素水平居中:

<style>
div{
    border:1px solid red;/*為了顯示居中效果明顯為 div 設定了邊框*/

    width:200px;/*定寬*/
    margin:20px auto;/* margin-left 與 margin-right 設定為 auto */
}
</style>
<body>
  <div>我是定寬塊狀元素,我要水平居中顯示。</div>
</body>

效果:
這裡寫圖片描述

不定寬塊狀元素: 塊狀元素的寬度width不固定

在實際工作中我們會遇到需要為“不定寬度的塊狀元素”設定居中,比如網頁上的分頁導航,因為分頁的數量是不確定的,所以我們不能通過設定寬度來限制它的彈性。

不定寬度的塊狀元素有三種方法居中(這三種方法目前使用的都很多):

  • 加入 table 標籤;
  • 設定 display: inline 方法:與第一種類似,顯示型別設為 行內元素,進行不定寬元素的屬性設定;
  • 設定 position:relative 和 left:50%:利用 相對定位 的方式,將元素向左偏移 50% ,即達到居中的目的;

加入table標籤:為什麼選擇方法一加入table標籤? 是利用table標籤的長度自適應性—即不定義其長度也不預設父元素body的長度(table其長度根據其內文字長度決定),因此可以看做一個定寬度塊元素,然後再利用定寬度塊狀居中的margin的方法,使其水平居中。

第一步:為需要設定的居中的元素外面加入一個 table 標籤 ( 包括 < tbody>、< tr>、< td> )。

第二步:為這個 table 設定“左右 margin 居中”(這個和定寬塊狀元素的方法一樣)。

如:

<style>
table{
    border:1px solid;
    margin:0 auto;
}
</style>
......
<div>
 <table>
  <tbody>
    <tr><td>
    <ul>
        <li>我是第一行文字</li>
        <li>我是第二行文字</li>
        <li>我是第三行文字</li>
    </ul>
    </td></tr>
  </tbody>
 </table>
</div>

改變元素的display型別為行內元素:改變塊級元素的 display 為 inline 型別(設定為 行內元素 顯示),然後使用 text-align:center 來實現居中效果。

<style>
.container{
    text-align:center;
}
/* margin:0;padding:0(消除文字與div邊框之間的間隙)*/
.container ul{
    list-style:none;
    margin:0;
    padding:0;
    display:inline;
}
/* margin-right:8px(設定li文字之間的間隔)*/
.container li{
    margin-right:8px;
    display:inline;
}
</style>
<body>
<div class="container">
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>
</div>
</body>

OK,關於CSS的部分小技巧就學習到這,更多的以後再更新,現在可以著手寫自己的小網頁了:) ~
——————————————————————————————————— 10:39 am , 2017/7/7 於圖書館