先,我們來學習CSS設置文本的對齊方式。
通過CSS,可以設置文本的水平和垂直對齊方式。(有案例的效果演示)
文本水平對齊,我們前面的課程曾經接觸過——使用 text-align 這個樣式屬性來實現。它的屬性值有三個:left,right,center,分別表示文本水平居左,居右,居中。
我們來舉個例子。
在 005 目錄下創建 alignment-spacing.html 文件,構建基礎代碼,添加一個 h1 元素和三個 p 元素,分別填入一些文本。
<h1>浠浠呀老師,學前端的大專生就業難嗎?</h1>
<p>
no, 不難,只要你能力過關、項目經驗過關、人品過關,企業就會錄用你。
</p>
<p>
你可以在面試的時候,著重介紹一下你的開發能力、技術能力以及你對技術理解,讓別人挑不出毛病,那學歷這塊是可以自動忽略的。
</p>
<p>
我在面試別人的時候也是這樣,如果這個人的技術能力和過往經驗真的征服了我,我不是很在他乎他的學歷。
</p>
我們可以給三個段落文本,設置不同的水平對齊方式,給三個 p 元素定義 class 屬性,值分別為 a,b,c。
在這個目錄下再創建一個 mystyle-2.css 文件,定義 p.a (讀作p點a) 選擇器,聲明樣式 text-align: left (不要讀冒號)。定義 p.b 選擇器,聲明樣式 text-align: center。定義 p.c 選擇器,聲明樣式 text-align: right。
p.a {
text-align: left;
}
p.b {
text-align: center;
}
p.c {
text-align: right;
}
在瀏覽器中預覽效果,三個段落分別左、中、右對齊了。
當 text-align 屬性被設置為 justify [?d??st?fa?]時,每一行都被拉長,使每一行都有相等的寬度,而且左右邊界是對齊的,就像雜志和報紙排版一樣。
注釋掉全部樣式,定義 p 選擇器,聲明樣式 text-align: justify。
我們看,貌似沒有什么效果。
為了演示,給第一個段落添加單詞 no, (讀作no 英文的逗號) 。再給 p 元素聲明一個樣式 width: 200px。
再看效果,三個段落的兩側都是對齊的。
假如注釋掉這個樣式,
很明顯,右側不再對齊顯示了。
除了水平對齊,還可以設置文本的垂直對齊。通過聲明 vertical-align 屬性來實現。值有五個:
baseline,基線對齊。
text-top,文本頂部對齊。
text-bottom,文本底部對齊。
sub,下角標對齊。
super,上角標對齊。
在 html 文件中添加一個 h1 元素,5個 p 元素。填入一些文本。在每個段首添加一個 img 元素,引入本地的一個小圖片,圖片的寬高都為 9px。給每個圖片元素定義 class 屬性,值分別為 a,b,c,d,e。
在樣式表中,定義 img.a 選擇器,聲明樣式 vertical-align: baseline。
baseline 是如何對齊的呢?看效果,在垂直方向好像是居中對齊。
實際上,baseline 是基于四線三格倒數第二行對齊的。對于英文文本才有意義。
比如,將 1 修改為 fight 1。
基線在這,文本中的圖片就基于它來對齊。
再定義 img.b,img.c,img.d,img.e 四個選擇器,給他們都聲明 vertical-align 屬性,值分別為 text-top,text-bottom,sub,super 。
看看效果,圖片垂直方向上,已經相對于文本頂部、底部、上角標、下角標的位置對齊了。
接下來,我們學習如何設置文本的間距。
通過 CSS,可以實現文本縮進、文字或字母間距、行高、單詞間距和處理空白。(有案例的效果演示)
聊起文本縮進,你還記得以前是如何實現自然段首行縮進的嗎?可以發彈幕告訴大家!
通過聲明 CSS 的 text-indent 屬性也可以實現。使?長度值或百分?來設置?本縮進。
長度值可以使?絕對單位或相對單位。絕對單位就是 px,比如縮進 50px;相對單位最常用的是 em,縮進的寬度為字符寬度的倍數,一般設置為 2em,就是空兩格。
字符寬度——如果是中文方塊字,也可以稱為字體大小,它是通過 font-size 屬性來設置的,這個屬性在后面 CSS 字體課程中會詳細介紹。
百分?縮進寬度,是根據?元素的寬度計算得到。這個很少使用。
給 p 元素聲明 text-indent 屬性,值為 2em。
仔細觀察,每個自然段縮進貌似不是2個字的寬度,這是為什么呢?
你應該想到了,把 text-align: justify 注釋一下,就是我們要的效果了。
letter-spacing 屬性用于指定中文文字或英文字母之間的空隙。
在樣式中,定義 h1 選擇器,聲明樣式 letter-spacing: 5px。
這樣,標題文字間就有了 5px 的空隙。
line-height 屬性用于指定行與行之間的高度,也就是行高。屬性值常用的有三個:
第一,normal,也是默認值,瀏覽器會根據字符大小自動設置一個行高。
第二,一個數字,比如 1.5。此數字與當前的字符大小相乘計算得到。推薦使用。
第三,絕對值,比如 20px,-5px。設置固定的行間距。
在沒有設置 line-height 屬性時,我們看到每一行的間距是這樣的。
回到樣式代碼,給 p 元素聲明樣式 line-height: normal。
我們看到效果沒有變化。
修改 line-height 屬性值為 1。
再來看,每個段落的行間距消失了。
再次修改 line-height 為 10px,行與行之間疊加到了一起。
是不是和你理解的行高不一樣呢?看來,我們得需要仔細研究一下:行高到底是如何計算的。
這是兩行中文和英文混合的文本。
在文字頂端畫一條線,取名叫頂線。在文字底端畫一條線,取名叫底線。在文字中間畫一條線,取名叫中線,再畫一條英文的基線。上一行文字的底線,到下一行文字的頂線,他們之間的空隙稱為行距。
實際上,line-height 設置的行高值,是兩行基線的距離。
這里你可能會問,基線不是英文文本才有的嗎?其實,不管文本里有沒有英文,基線都是一直存在的。
了解了這個原理,你就能理解 line-height: 1,為啥沒有行距了。因為 1 乘以文字的高度,結果還是文字的高度。而文字的高度,恰好等于兩行基線之間的距離,所以行距為 0。
word-spacing 屬性用于指定文本中單詞的間距,只對英文有效。
給 p 元素再聲明一個 word-spacing: 20px 樣式。
我們看,單詞 no 和 fight 后面就有了 20個像素的間距。
white-space 屬性指定了如何處理元素內部的空白。有一個常用的值,nowrap,不管包含文本的元素寬度是多少,文本都不會換行,直到遇見 <br> 標簽為止。
給 p 元素再聲明一個 white-space: nowrap 樣式。
此時,每個段落都在一行顯示了。雖然我們給 p 元素聲明了 width: 200px,他也會視而不見,繼續倔強的在一行顯示。
文章配套視頻鏈接:https://www.bilibili.com/video/BV1oU4y1278g?p=63
This text is styled with some of the text formatting properties. The heading uses the text-align, text-transform, and color properties. The paragraph is indented, aligned, and the space between characters is specified. The underline is removed from the "文本格式" link.
文本顏色
顏色屬性被用來設置文字的顏色。
顏色是通過CSS最經常的指定:
十六進制值 - 如: #FF0000
一個RGB值 - 如: RGB(255,0,0)
顏色的名稱 - 如: red
參閱 CSS 顏色值 查看完整的顏色值。
一個網頁的背景顏色是指在主體內的選擇:
實例
body {color:blue;}
h1 {color:#00ff00;}
h2 {color:rgb(255,0,0);}
對于W3C標準的CSS:如果你定義了顏色屬性,你還必須定義背景色屬性。
文本的對齊方式
文本排列屬性是用來設置文本的水平對齊方式。
文本可居中或對齊到左或右,兩端對齊.
當text-align設置為"justify",每一行被展開為寬度相等,左,右外邊距是對齊(如雜志和報紙)。
實例
h1 {text-align:center;}
p.date {text-align:right;}
p.main {text-align:justify;}
文本修飾
text-decoration 屬性用來設置或刪除文本的裝飾。
從設計的角度看 text-decoration屬性主要是用來刪除鏈接的下劃線:
實例
a {text-decoration:none;}
嘗試一下 ?
也可以這樣裝飾文字:
實例
h1 {text-decoration:overline;}
h2 {text-decoration:line-through;}
h3 {text-decoration:underline;}
我們不建議強調指出不是鏈接的文本,因為這常常混淆用戶。
文本轉換
文本轉換屬性是用來指定在一個文本中的大寫和小寫字母。
可用于所有字句變成大寫或小寫字母,或每個單詞的首字母大寫。
實例
p.uppercase {text-transform:uppercase;}
p.lowercase {text-transform:lowercase;}
p.capitalize {text-transform:capitalize;}
嘗試一下 ?
文本縮進
文本縮進屬性是用來指定文本的第一行的縮進。
實例
p {text-indent:50px;}
更多實例
指定字符之間的空間
這個例子演示了如何增加或減少字符之間的空間。
指定行與行之間的空間
這個例子演示了如何指定在一個段落中行之間的空間
設置元素的文本方向
這個例子演示了如何改變元素的文本方向。
增加單詞之間的空白空間
這個例子演示了如何增加一個段落中的單詞之間的空白空間。
在元素內禁用文字環繞
這個例子演示了如何禁用一個元素內的文字環繞。
垂直對齊圖像
這個例子演示了如何設置文本的垂直對齊圖像。
添加文本陰影
這個例子演示了如何設置文本陰影。
所有CSS文本屬性。
屬性 | 描述 |
---|---|
color | 設置文本顏色 |
direction | 設置文本方向。 |
letter-spacing | 設置字符間距 |
line-height | 設置行高 |
text-align | 對齊元素中的文本 |
text-decoration | 向文本添加修飾 |
text-indent | 縮進元素中文本的首行 |
text-shadow | 設置文本陰影 |
text-transform | 控制元素中的字母 |
unicode-bidi | 設置或返回文本是否被重寫 |
vertical-align | 設置元素的垂直對齊 |
white-space | 設置元素中空白的處理方式 |
word-spacing | 設置字間距 |
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
.HTML的骨架
在編寫html時我們們首先要寫出以下代碼。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
不要被這一大長串嚇到,在VSCode編譯器中html文件第一行打出“!”便會自動得到這些代碼。我們來認識一下這些標簽都是什么。
<!DOCTYPE html>
html文件第一行必須是DTD(Document Type Definition,文檔類型聲明),不寫DTD會引發瀏覽器的一些兼容問題。
<html lang="en">
.
.
.
</html>
<html></html>標簽對,將<head></head>標簽對和<body></body>標簽對放入其中,lang屬性為網頁語言,英語為en,中文為zh。
注意:head標簽對和body標簽對需要在html標簽對中縮進
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<head></head>標簽對中是網頁的配置,而并非網頁頭部
head標簽對中<meta charset="UTF-8">為設置字符集,<meta>標簽為元標簽,表示網頁的基礎配置;
UTF-8為制作網頁所使用的字符集,與gb2312的區別可參考下圖。
在<head></head>中的<title></title>中書寫網頁的標題,文字會顯示在瀏覽器的標簽欄上。title也是搜索引擎收錄網站時顯示的標題,所以我們需要合理的設置title以吸引用戶的點擊。
使用meta標簽設置網頁關鍵詞和描述,name屬性非常關鍵,用來設置meta的具體功能。
<meta name="Keywords" content="關鍵詞1,關鍵詞2,關鍵詞3">
<meta name="Description" content="頁面描述是搜索引擎顯示的簡介詞語">
<body></body>標簽對中用來寫網頁的主要內容,包括網頁頭部,內容,頁腳等等。
2、標簽
html叫做“超文本標記語言”,超文本標記就是標簽,這些標簽擁有不同的功能。
標簽通常成對兒出現;但meta標簽為單標簽,只有起始標簽。
標簽可以給文字設置不同的“語義”。
1.標題標簽
<h1>一級標題</h1><h2>二級標題</h2><h3>三級標題</h3><h4>四級標題</h4><h5>五級標題</h5> <h6>六級標題</h6>
實際顯示效果如圖。
搜索引擎非常看重<h1></h1>標簽的內容,應該將重點內容比如網頁的logo等放到<h1></h1>中以加大其權重。<h1></h1>標簽一般只能放置一個,否則會被搜索引擎視為作弊。
六級標題雖然很像普通文本進行了加粗,但不應該僅僅為了加粗而使用<h6></h6>標簽對。
2.段落標簽——p標簽對
<p>段落標簽,p是英語paragraph的意思</p><p>在HTML文件中即使代碼換行了,頁面顯示效果也不會換行</p><p>所以必須要把任何段落都放入段落標簽中</p> <p>段落標簽中不能嵌套標題標簽和其他段落標簽</p>
在網頁中顯示的效果如圖。
3.div標簽
div是英語division“分割”的縮寫,<div></div>標簽對用來將相關的內容組合到一起,以和其
他內容分割,使文檔結構更清晰。最重要的一點是,它可以結合CSS使用,實現網頁的布局,這種布局形式叫做“DIV+CSS”。
div標簽對的應用是html中非常重要的知識點。
<div>
<h3>標題三</h3>
<p>段落1</p>
<p>段落2</p>
<p>段落3</p>
</div>
4.注釋與轉義字符
書寫代碼時,我們需要寫好注釋使日后再閱讀代碼或者他人閱讀代碼提供提示。
為了在書寫“<”“>”等符號時不被當作標簽,我們需要使用轉義字符來表示它們。
<!-- 注釋內容 -->
<p><為小于號</p>
<p>>為大于號</p>
<p> 為不會被折疊的空格</p>
<p>?為版權符號</p>
在網頁中顯示的效果如圖。
總結
通過此次的學習,我們認識了html骨架,標題標簽,段落標簽,div標簽,注釋寫法與部分轉義字符寫法。下次的學習內容將會是列表標簽和多媒體語義化標簽。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。