- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
css创建竖排文字的简单方法
在制作网页的时候我们经常需要创建一些竖排的文字,或许这对你来说是一件很简单的事
情,但是你是否想过用 CSS可有N种创建竖排文字的方法?下面是由我翻译自 Nettuts+
的文章,希望这几种方法能够给你带来一些提示。
方法一:br/ 标签
一种可能的方法(但不推荐)是在每个字母后面添加 br / 标签来实现竖排文字:
h1
N br /E br /T br /T br /U br /T br /S
/h1
点击查看演示
千万不要使用使用这种方法,它是跛脚和草率的。
方法二:静态包裹
通过这个方法,我们将每个字母包裹在一个 span中,然后在CSS中设置它的display 属性为block
VDOCTYPE html
html
head
meta charset =utf-8 /
title Vertical Text/ title
6
style
h1 span { display: block; }
9
v/style
10
v/head
11
vbody
12
13
h1
14
vspan N / span
15
vspan E / span
16
vspan T v/ span
17
vspan T v/ span
18
vspan U v/ span
19
vspan T v/ span
20
vspan S v/ span
21
v/h1
22
23
v/body
24
v/html
点击查看演示
这种方法的问题是, 除了可怕的标签外,它需要你手工去给每个字母用
span括起来。
如果这些文字是由 CMS动态生成的,那就别用这种方法了。
方法三:使用 JavaScript
我最初的想法是用 JavaScript动态地添加span标签,这样我们就避开了方法二遇到 的问题。
!DOCTYPE html
vhtml
head
meta charset =utf-8 /
vtitle Vertical Text/ title
6
style
h1 span { display: block; }
/style
/head
body
h1 NETTUTS / h1
13
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
理想的情况下,如果可能的话,我们应该使用
CSS来完成这个任务。
方法四:给容器指定一个宽度
如果可能的话,还是让我们远离 JavaScript 吧。如果我们给容器元素指定一个宽度,
并强迫文字换行,如何?那是可以的。
1 -
!DOCTYPE html
2
vhtml
3 -
head
4 -
vmeta charset =utf-8 /
5 -
vtitle Vertical Textv/ title
6
7 -
vstyle
8
h1 {
9
width: 50px;
10
font-size: 50px;
11
word-wrap: break-word;
12
}
13 -
v/style
14 -
v/head
15 -
vbody
16
vh1 NETTUTS v/ h1
17 -
v/body
18 -
v/html
点击查看演示
在这个方法中,我们给hl定义很窄的宽度,然后是其文字的宽度等于外围的宽度, 最
后设置word-wrap 等于break-word ,这样我们就可以强制每个字母单独在一行。不过
需要注意的是,break-word 是一个CSS3的属性,并不是所有浏览器都兼容。如果排除旧 浏览器的话,这个问题貌似就可以解决了。 。。但并完全是!上面的演示确实可以正常工作,
但是玩像素值是很危险的,不信可以看看 将大写字母转换成小写字母的后果 (在IE下看
看):
N et tu ts
所以,使用这种方法,当你给 hl指定具体像素宽度的时候,要特别小心。这种方法也不推 荐!
方法五:使用 letter-s
原创力文档


文档评论(0)