1. 程式人生 > 其它 >文字樣式與文字樣式

文字樣式與文字樣式

技術標籤:csscss

文字樣式與文字樣式

font簡寫屬性

簡寫順序

  1. font-style
  2. font-variant
  3. font-weight
  4. font-size/line-height
  5. font-family
    font-size和font-family的值是必需的。如果缺少了其他值,預設值將被插入,如果有預設值的話。
    CSS字型屬性定義字型,加粗,大小,文字樣式、行高。

font-style字型樣式

常用的有normal、italic

描述
normal預設值。瀏覽器顯示一個標準的字型樣式。
italic瀏覽器會顯示一個斜體的字型樣式。
oblique瀏覽器會顯示一個傾斜的字型樣式。
inherit規定應該從父元素繼承字型樣式。

font-variant

把小寫字母變成大寫字母,但是字號比普通大寫字母小。

  font-variant: small-caps;

在這裡插入圖片描述

font-weight 字型粗細

常用的有normal(400)、bold(700)

描述
normal預設值。定義標準的字元。
bold定義粗體字元。
bolder定義更粗的字元。
lighter定義更細的字元。
100-900定義由粗到細的字元。400 等同於 normal,而 700 等同於 bold。
inherit規定應該從父元素繼承字型的粗細。

font-size 字型大小

設定不同的HTML元素的字型大小:

描述
length設定為一個固定的值。單位px
%設定為基於父元素字型大小的一個百分比值
inherit繼承父元素的字型大小

line-hight(行高)

一行文字實際佔有的高度。

設定行高,字號時,一般設定為偶數。這樣可以保證,他們的差一定是偶數,方便計算與居中。

特殊用法;要讓一行文字在盒子中垂直居中,可以讓行高等於盒子高。【只適用於單行文字。】

表達方式px、百分比、em
px畫素值
百分比參照字型大小
em參照字型倍數

font-family 字型款式

設定字型格式

描述
引號加字型名稱,中間用逗號隔開“宋體” ,“華文行楷”
inherit規定應該從父元素繼承字體系列。

CSS文字樣式(text)

屬性描述
color設定字型顏色
direction設定文字方向。
letter-spacing設定字元間距
line-height設定行高
text-align對齊元素中的文字
text-decoration向文字新增修飾
text-indent縮排元素中文字的首行
text-shadow設定文字陰影
text-transform控制元素中的字母
unicode-bidi設定或返回文字是否被重寫
vertical-align設定元素的垂直對齊
white-space設定元素中空白的處理方式
word-spacin設定字間距

主要介紹一下常用的幾種屬性

color屬性

文字顏色

描述
#FF0000十六進位制值顏色
如: RGB(255,0,0)一個RGB值
red、blue、black顏色的名稱

text-align文=文字對齊

文字對齊方式

描述
left把文字排列到左邊。預設值:由瀏覽器決定。
right把文字排列到右邊。
center把文字排列到中間。
inherit規定應該從父元素繼承 text-align 屬性的值。

text-decoration下劃線,上劃線等等

text-decoration 屬性是以下三種屬性的簡寫:

  • text-decoration-line
  • text-decoration-color
  • text-decoration-style
            text-decoration: 1px line-through red;

文字修飾,下劃線,刪除線,上劃線等等。

描述
none預設。定義標準的文字。
underline定義文字下的一條線。
overline定義文字上的一條線。
line-through定義穿過文字下的一條線。
blink定義閃爍的文字。
inherit規定應該從父元素繼承 text-decoration 屬性的值。

text-indent文字縮排

文字縮排。

描述
px縮排幾畫素
-20px縮排前邊的字元,文字向左移動
+20px縮排右邊的字元。文字向右移動
%定義基於父元素寬度的百分比的縮排。
inherit規定應該從父元素繼承 text-indent 屬性的值。

單行文字省略號與多行文字省略號 text-overflow

單行文字省略號

 			white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;

多行文字省略號

			 display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            text-overflow: ellipsis;
            overflow: hidden;
描述
clip修剪文字。
ellipsis顯示省略符號來代表被修剪的文字。
string使用給定的字串來代表被修剪的文字。

white-space換行

  • nowrap不換行
  • wrap 換行

word-wrap

  允許單詞內斷句,首先會嘗試挪到下一行,看看下一行的寬度夠不夠,
不夠的話就進行單詞內的斷句 
        
        .breakword {
            word-wrap: break-word;
        }
     斷句時,不會把長單詞挪到下一行,而是直接進行單詞內的斷句
        
        .breakAll {
            word-break: break-all;
        }

word-spacing 字型間距

設定字間距 這裡是英文字母的間距,對中文無效。

<style>
        p{
            font-size: 24px;
            background-color: aquamarine;
            /* 單詞間距,單位是px 對於中文無效。 */
            word-spacing: 24px;
        }
        /* div{
            width: 100px;
            height: 500px;
            background-color: aquamarine;
        } */
    </style>
   <!-- 單詞間距 -->
    <p>三 十 功 名 塵 與 土,八 千 裡 路 雲 和 月</p>
    <p>When I wake up in the morning,You are all I see;</p>
    <!-- <div>
        lgkahg olahkglk shgs go
    </div> -->

letter-spacing屬性

設定中文字元間距,此時每個英文單詞被看作一個字元,可以設定負值

text-transform屬性

轉換英文字元大小寫

描述
none預設。
capitalize每個單詞首字母大寫
uppercase字母全部大寫
lowercase字母全部小寫
inherit規定應該從父元素繼承 text-transform 屬性的值。

vertical-align垂直對齊

vertical-align 屬性設定一個元素的垂直對齊方式

下邊程式碼圖片可以自己隨便新增一個

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>垂直對齊</title> 
<style>
img.top {vertical-align:text-top;}
img.bottom {vertical-align:text-bottom;}
img.top {vertical-align: top;}
img.bottom { vertical-align: bottom;}
</style>
</head>

<body>
<p>一個<img src="logo.png"  width="270" height="50" />預設對齊的影象。</p> 
<p>一個<img class="top" src="logo.png"  width="270" height="50" />  text-top 對齊的影象。</p> 
<p>一個<img class="bottom" src="logo.png"  width="270" height="50" /> text-bottom 對齊的影象。</p>
</body>
</html>
baseline預設。元素放置在父元素的基線上。
sub垂直對齊文字的下標。
super垂直對齊文字的上標
top把元素的頂端與一行文字或者元素的頂部對齊
text-top把元素的頂端與父元素字型的頂端對齊
middle把此元素放置在父元素的中部。
bottom使元素一行文字或者元素的的底部對齊。
text-bottom把元素的底端與父元素字型的底端對齊。
length將元素升高或降低指定的高度,可以是負數。

單行文字垂直居中,與多行文字垂直居中

1、利用padding,不給高度用padding 擠開

如果要水平和垂直都居中,可以使用 padding 和 text-align: center:

.center {
    padding: 70px 0;
    border: 3px solid green;
}

2、垂直居中 - 使用 line-height,文字居中

.center {
    line-height: 200px;
    height: 200px;
    border: 3px solid green;
    text-align: center;
}
 
/* 如果文字有多行,新增以下程式碼: */
.center p {
    line-height: 1.5;
    display: inline-block;
    vertical-align: middle;
}

3、垂直居中 - 使用 position 和 transform

.center { 
    height: 200px;
    position: relative;
    border: 3px solid green; 
}
 
.center p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}