在制作网页的时候我们经常需要创建一些竖排的文字,或许这对你来说是一件很简单的事情,但是你是否想过用CSS可有N种创建竖排文字的方法?希望这几种方法能够给你带来一些提示。
方法一:<br />标签
一种可能的方法(但不推荐)是在每个字母后面添加<br />标签来实现竖排文字:
千万不要使用使用这种方法,它是跛脚和草率的。
方法二:静态包裹
通过这个方法,我们将每个字母包裹在一个span中,然后在CSS中设置它的display
属性为block
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
|
这种方法的问题是,除了可怕的标签外,它需要你手工去给每个字母用span括起来。如果这些文字是由CMS动态生成的,那就别用这种方法了。
方法三:使用JavaScript
我最初的想法是用JavaScript动态地添加span标签,这样我们就避开了方法二遇到的问题。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
|
这个方法绝对是一个进步。以上方法中,我们将一行文本(NETTUTS)分拆放到一个数组中,并且将每个字母用span标签括起来。虽然我们可以用如for语句或$.map来筛选这个数组,但是更好更快的方法是手动地同时将文字插入和括起来。虽然相比方法二,这种方法更好,但是仍然不推荐此方法:
- 在JavaScript被禁用的情况下会破坏你的布局
- 理想的情况下,如果可能的话,我们应该使用CSS来完成这个任务。
方法四:给容器指定一个宽度
如果可能的话,还是让我们远离JavaScript吧。如果我们给容器元素指定一个宽度,并强迫文字换行,如何?那是可以的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
|
在这个方法中,我们给h1定义很窄的宽度,然后是其文字的宽度等于外围的宽度,最后设置word-wrap 等于 break-word,这样我们就可以强制每个字母单独在一行。不过需要注意的是,break-word
是一个CSS3的属性,并不是所有浏览器都兼容。如果排除旧浏览器的话,这个问题貌似就可以解决了。。。但并完全是!上面的演示确实可以正常工作,但是玩像素值是很危险的,不信可以看看将大写字母转换成小写字母的后果(在IE下看看):
所以,使用这种方法,当你给h1指定具体像素宽度的时候,要特别小心。这种方法也不推荐!
方法五:使用 letter-spacing
作为预防措施,并扩展方法四,我们为什么不申请相当大的letter-spacing来解决这个问题?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<!DOCTYPE html><html><head><metacharset=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的属性。
方法六:使用em
s
另外,还有一个一行内的解决方法。不知道你有没有记得,当给父级元素指定overflow: hidden
的时候,父元素就会扩展以包含浮动? 这个方法就类似这个,关键是使用了 em,并给每个字母之间添加了空格。
分享到:
相关推荐
在制作网页的时候我们经常需要创建一些竖排的文字,或许这对你来说是一件很简单的事情,但是你是否想过用CSS可有N种创建竖排文字的方法?
css实现文字竖排效果
1. 包里包含源码和一个测试用例,可直接看到效果。 2. 竖排文字的一些说明,移步以下链接 https://blog.csdn.net/piaoyun29/article/details/123255514
文本框文字竖排
arcgis maplex竖排文字,是我自己截图总结的
主要介绍了使用CSS实现文字的竖排的简单方法,介绍两个相关属性的同时示例中则使用普通的排版参数设置来实现,需要的朋友可以参考下
js+css实现有立体感的按钮式文字竖排菜单效果.docx
竖排汉字编辑的类。可以在文本框中生成竖排的文字。
C#203文字竖排工具,源代码
在word、excel中可以轻松的实现文字竖排的形式,但是在html页面中呢?当然也可以实现,下面有个不错的示例,大家可以参考学习下
竖向折叠的CSS滑动菜单
前段时间看竖排文字挺流行的,就自己动手写了一个java版的,给自己用,现在拿出来和大家一起研究下!
此工具可以把普通横排文字转换为古典的中文直排模式,由右至左的方式显示,并且增加适当的线标,方便读者阅读。您可以在论坛、博客发言之前用这个工具把要发表的文章转化,然后再粘贴到要发表的论坛、博客上去。有了...
合成图片应该按照 Canvas 的文档来做都没什么问题,主要是有个竖排文字的需求,这里和大家分享一下。 正文 首先放一张最终保存到相册的图片吧~ (此图片来源于网络,如有侵权,请联系删除! ) 自我...
实现文字竖向排列的一个winform编辑器,自已一点点写的,自测可用
android利用Paint在Canvas上实现竖排写字
#功能:竖排文字 通过模板图片 写入文字到指定位置,并分别保存成新的图片 #功能说明:根据","换行(也可以根据"\n"换行) #环境:PyDev 6.5.0 Python3.5.2
一款蓝色风格的竖排手风琴tab选项卡jQuery+CSS3代码特效,鼠标点击tab带有梦幻气泡效果,滑动切换手风琴代码。