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 於圖書館