CSS實(shí)用技巧:文字處理
前言
作為程序員的我們,書寫代碼也需要大量的技巧。一份良好的代碼能讓人耳目一新,讓人容易理解,同時(shí)也讓自己成就感滿滿。因此,在這里簡(jiǎn)單的整理一些CSS開發(fā)技巧,希望能讓你寫出耳目一新、容易理解、舒服自然的代碼。
CSS實(shí)用技巧第一講:文字處理
本小結(jié)主要是圍繞css對(duì)文字處理的技巧,有興趣的小伙伴可以收藏一下。
文本對(duì)齊方式
CSS最常用的對(duì)齊方式,居中對(duì)齊、左對(duì)齊(默認(rèn))、右對(duì)齊,而且實(shí)現(xiàn)起來(lái)也是非常的簡(jiǎn)單。
如下:
- p{
- text-align: center;
- text-align: left;
- text-align: right;
- }
但是兩端對(duì)齊你有用過(guò)嗎?
只需要添加text-align-last:justify樣式即可。請(qǐng)看示例:
- <div class="justify-text">
- <div class="li">賬號(hào)</div>
- <div class="li">密碼</div>
- <div class="li">電子郵件</div>
- </div>
scss樣式
- .justify-text {
- .li {
- padding: 0 20px;
- margin-top: 10px;
- width: 100px;
- background-color: #f13f84;
- line-height: 40px;
- text-align-last: justify;
- color: #fff;
- list-style: none;
- &:first-child {
- margin-top: 0;
- }
- }
- }
CSS實(shí)用技巧第一講:文字處理
文本排版方向
現(xiàn)代書本上的文字都是從左到右的順序排列,但是古時(shí)候不同,文字都是從右至左排列的,現(xiàn)在在很多古籍、牌坊、石碑等上面依舊可以看到從右至左的文字。
css也可以調(diào)整文本排版方向,是通過(guò)什么屬性控制的呢?
writing-mode 屬性定義了文本在水平或垂直方向上如何排布。
- writing-mode: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr
- horizontal-tb:水平方向自上而下的書寫方式。即 left-right-top-bottom
- vertical-rl:垂直方向自右而左的書寫方式。即 top-bottom-right-left
- vertical-lr:垂直方向內(nèi)內(nèi)容從上到下,水平方向從左到右
- sideways-rl:內(nèi)容垂直方向從上到下排列
- sideways-lr:內(nèi)容垂直方向從下到上排列
下面看具體示例:
- <div class="bruce flex-ct-x">
- <div class="vertical-text">
- <h3>詩(shī)經(jīng)</h3>
- <p>
- 死生契闊,<br>
- 與子成說(shuō)。<br>
- 執(zhí)子之手,<br>
- 與子偕老。
- </p>
- </div>
- </div>
scss樣式
- .vertical-text {
- writing-mode: vertical-rl; // 文字排版方向
- h3 {
- padding-left: 10px;
- font-weight: bold;
- font-size: 18px;
- color: #d60f5c;
- }
- p {
- line-height: 30px; // 行間距
- letter-spacing: 7px; // 文字間距
- color: #ee1166;
- }
- }
CSS實(shí)用技巧第一講:文字處理
文本從右至左排列
- <div class="reverse-text">
- 紅豆生南國(guó)<br/>
- 春來(lái)發(fā)幾枝<br/>
- 愿君多采擷<br/>
- 此物最相思
- </div>
scss樣式
- .reverse-text {
- font-weight: bold;
- font-size: 30px;
- color: #f13f84;
- width: 200px;
- letter-spacing: -70px; // letter-spacing最少是font-size的2倍
- }
CSS實(shí)用技巧第一講:文字處理
文本溢出控制
文本溢出處理不管是PC或者是H5,都是非常常見(jiàn)的,非詳情頁(yè)面都會(huì)經(jīng)常用到。
文本溢出處理分為:?jiǎn)涡形淖忠绯?和 多行文字溢出。下面看看具體示例:
單行文字溢出
- <div class="ellipsis">昨夜雨疏風(fēng)驟,濃睡不消殘酒。試問(wèn)卷簾人,卻道海棠依舊。知否,知否,應(yīng)是綠肥紅瘦。</div>
scss樣式
- .ellipsis {
- width: 200px;
- overflow: hidden; // 溢出隱藏
- text-overflow: ellipsis; // 溢出修飾 ellipsis省略號(hào)
- white-space: nowrap; // 文本不會(huì)換行
- }
CSS實(shí)用技巧第一講:文字處理
多行文字溢出
<div class="ellipsis">尋尋覓覓,冷冷清清,凄凄慘慘戚戚。乍暖還寒時(shí)候,最難將息。三杯兩盞淡酒,怎敵他、晚來(lái)風(fēng)急!雁過(guò)也,正傷心,卻是舊時(shí)相識(shí)。
滿地黃花堆積,憔悴損,如今有誰(shuí)堪摘?守著窗兒,獨(dú)自怎生得黑!梧桐更兼細(xì)雨,到黃昏、點(diǎn)點(diǎn)滴滴。這次第,怎一個(gè)愁字了得!</div>
scss樣式
- .ellipsis {
- width: 400px;
- display: -webkit-box;
- overflow: hidden;
- text-overflow: ellipsis;
- -webkit-line-clamp: 3;
- /* autoprefixer: off */
- -webkit-box-orient: vertical;
- /* autoprefixer: on */
- }
CSS實(shí)用技巧第一講:文字處理
注意
使用文本溢出處理時(shí),容器一定要定義寬度。
多行文字溢出,scss樣式添加注釋autoprefixer: off并不是為了說(shuō)明什么,而是,在webpack打包編譯時(shí),如果沒(méi)有這個(gè)注釋,-webkit-box-orient: vertical會(huì)被忽略掉。
文本選擇顏色
在瀏覽器中,當(dāng)你選擇文本想要copy時(shí),是不是會(huì)發(fā)現(xiàn)選擇文本會(huì)有背景色和文字顏色呢?其實(shí)它是可以通過(guò)css定義的。
使用::selection自定義文本選擇顏色
- <div class="select-color">
- <p>紅豆生南國(guó),</p>
- <p class="special">春來(lái)發(fā)幾枝。</p>
- <p>愿君多采擷,</p>
- <p class="special">此物最相思。</p>
- </div>
scss樣式
- // 全局文本選擇樣式
- ::selection {
- background-color: #f13f84;
- color: #fff;
- }
- .select-color {
- line-height: 30px;
- font-weight: bold;
- font-size: 30px;
- color: #d60f5c;
- }
- // 具體某個(gè)選擇器下 文本選擇樣式
- .special::selection {
- background-color: #00b7a3;
- }
CSS實(shí)用技巧第一講:文字處理
總結(jié)
有空把CSS3及其選擇器和偽元素偽類等知識(shí)點(diǎn)復(fù)習(xí)一遍,溫故而知新。多使用Chrome的DevTools來(lái)調(diào)試CSS,提示式的填值能發(fā)現(xiàn)很多有趣的屬性。多嘗試不同的方式實(shí)現(xiàn)相同功能,多實(shí)踐。項(xiàng)目中多試用CSS的新特性,不要總是被低版本瀏覽器束縛著,這樣也一直難以進(jìn)步。在使用JS完成一個(gè)簡(jiǎn)單的效果前先想想能不能用純CSS來(lái)完成。這樣你的CSS技能就能得到穩(wěn)步提升。
最后謝謝大家的支持。