国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

介紹使用css豎排文字的多種方法

2020-03-24 19:14:45
字體:
來源:轉載
供稿:網友
制作網頁有時候會使用豎排文字,本文介紹使用css豎排文字的多種方法,希望對你有所幫助方法一: br / 標簽一種可能的方法(但不推薦)是在每個字母后面添加 br / 標簽來實現豎排文字:復制內容到剪貼板
代碼:
h1
N
E
T
T
U
T
S
/h1
千萬不要使用使用這種方法,它是跛腳和草率的。方法二:靜態包裹通過這個方法,我們將每個字母包裹在一個span中,然后在CSS中設置它的display屬性為block。復制內容到剪貼板
代碼:
!DOCTYPE html
html
head
meta charset=utf-8 /
title Vertical Text /title style
h1 span { display: block; }
/style
/head
body h1
span N /span
span E /span
span T /span
span T /span
span U /span
span T /span
span S /span
/h1 /body
/html
這種方法的問題是,除了可怕的標簽外,它需要你手工去給每個字母用span括起來。如果這些文字是由CMS動態生成的,那就別用這種方法了。方法三:使用JavaScript我最初的想法是用JavaScript動態地添加span標簽,這樣我們就避開了方法二遇到的問題。復制內容到剪貼板
代碼:
!DOCTYPE html
html
head
meta charset=utf-8 /
title Vertical Text /title style
h1 span { display: block; }
/style
/head
body
h1 NETTUTS /h1 script
var h1 = document.getElementsByTagName('h1')[0];
h1.innerHTML = ' span ' + h1.innerHTML.split('').join(' /span span ') + ' /span
/script
/body
/html
這個方法絕對是一個進步。以上方法中,我們將一行文本(NETTUTS)分拆放到一個數組中,并且將每個字母用span標簽括起來。雖然我們可以用如for語句或$.map來篩選這個數組,但是更好更快的方法是手動地同時將文字插入和括起來。雖然相比方法二,這種方法更好,但是仍然不推薦此方法:在JavaScript被禁用的情況下會破壞你的布局。理想的情況下,如果可能的話,我們應該使用CSS來完成這個任務。方法四:給容器指定一個寬度如果可能的話,還是讓我們遠離JavaScript吧。如果我們給容器元素指定一個寬度,并強迫文字換行,如何?那是可以的。復制內容到剪貼板
代碼:
!DOCTYPE html
html
head
meta charset=utf-8 /
title Vertical Text /title style
h1 {
width: 50px;
font-size: 50px;
word-wrap: break-word;
}
/style
/head
body
h1 NETTUTS /h1
/body
/html
在這個方法中,我們給h1定義很窄的寬度,然后是其文字的寬度等于外圍的寬度,最后設置word-wrap 等于 break-word,這樣我們就可以強制每個字母單獨在一行。不過需要注意的是, break-word是一個CSS3的屬性,并不是所有瀏覽器兼容。如果排除舊瀏覽器的話,這個問題貌似就可以解決了。。。但并完全是!上面的演示確實可以正常工作,但是玩像素值是很危險的,不信可以看看 將大寫字母轉換成小寫字母的后果(在IE下看看):所以,使用這種方法,當你給h1指定具體像素寬度的時候,要特別小心。這種方法也不推薦!方法五:使用 letter-spacing作為預防措施,并擴展方法四,我們為什么不申請相當大的letter-spacing來解決這個問題?復制內容到剪貼板
代碼:
!DOCTYPE html
html
head
meta charset=utf-8 /
title Vertical Text /title style
h1 {
width: 50px;
font-size: 50px;
word-wrap: break-word;
letter-spacing: 20px; /* Set large letter-spacing as precaution */
}
/style
/head
body
h1 Nettuts /h1
/body
/html
這似乎解決了這個問題,但是在這里,我們又使用了一些CSS3的屬性。方法六:使用 ems另外,還有一個一行內的解決方法。不知道你有沒有記得,當給父級元素指定 overflow: hidden 的時候,父元素就會擴展以包含浮動? 這個方法就類似這個,關鍵是使用了 em,并給每個字母之間添加了空格。復制內容到剪貼板
代碼:
!DOCTYPE html
html
head
meta charset=utf-8 /
title Vertical Text /title style
h1 {
width: 1em;
font-size: 40px;
letter-spacing: 40px; /* arbitrarily large letter-spacing for safety */
}
/style
/head
body
h1 N e t t u t s /h1
/body
/html
漂亮又整潔,對不對?并且,這種方法可以給你的文字指定任意的font-size,因為我們使用了em,它就相當于選擇字體的x-height,給我們提供了更多的靈活性。但是,你是否又一次想起,有時一行中會有不止一個字母。可實際情況是,你可以安全使用這種方法,因為我已經指定了一個相當大的letter-spacing,以確保一行只會有一個字母。到目前為止,據我所知,這是最好的跨瀏覽器兼容的解決方案。方法七:Whitespace最后一個方法來達到這種效果是使用 white-space屬性。復制內容到剪貼板
代碼:
!DOCTYPE HTML
html lang="en"
head
meta charset="UTF-8"
title Vertical Text /title
style
h1 { white-space: pre; }
/style
/head
body h1
J
E
F
F
R
E
Y
/h1
/body
/html
通過設置 white-space 的值為 pre,即可控制文字的排版就像在一個 pre 標簽中一樣。因此,它會嚴格地顯示你添加的空格
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

上一篇:CSS陰影詳解

下一篇:瀏覽器CSS兼容方案

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资中县| 襄城县| 青铜峡市| 甘孜| 苍溪县| 大荔县| 土默特左旗| 库伦旗| 乌恰县| 钦州市| 攀枝花市| 商河县| 罗田县| 太湖县| 阆中市| 龙南县| 遂平县| 垫江县| 洛浦县| 济南市| 工布江达县| 信丰县| 镇沅| 宜昌市| 碌曲县| 昌都县| 民县| 江城| 泾源县| 专栏| 桂东县| 洮南市| 衡东县| 乌兰察布市| 扶余县| 秦安县| 宽甸| 务川| 南阳市| 和田市| 丰城市|