13

我试图让每个字母旋转 90 度的字符串;但是,我想保持字母的“流动”从左到右,而不是垂直。我还想保留那个“删除线”水平绿线(见下图)。

完成此任务的最简单方法是什么?我更喜欢使用 JavaScript 和/或 CSS。

使用-transform: rotateCSS 样式,我得到以下信息:

不要

<style type="text/css">
.rotate {
-webkit-transform: rotate(-90deg);
}
</style>
<body>
<div class="rotate">
<span style="color:#0C0; text-decoration:line-through;">
<span style="color:#000;">
A B C
</span></span></div>

我想要得到的是这样的东西,而不是求助于自定义字体。

在此处输入图像描述

4

4 回答 4

10

纯 CSS:

<div class="letters">
    <span>A</span><span>B</span><span>C</span>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

.letters {
    height:8px;
    line-height:16px;
    border-bottom:1px solid green;
    position:relative;
}
.letters > span {
    float:left;
    -webkit-transform: rotate(-90deg);
}​

演示

于 2012-09-27T22:51:24.153 回答
4

这里有一些 js 应该可以解决问题:http: //jsfiddle.net/AYGDR/8/

$(function() {
    $(".target").html(("<span>" + $(".target").html().split(" ").join("</span><span>") + "</span>"));
    var rotate = 0;
    $(".target span").each(function() {
        rotate = rotate - 90
        $(this).css({
            "-webkit-transform": "rotate(" + rotate + "deg)",
            "display": "inline-block"
        });
    });
});

我不小心加入了一些额外的轮换,因为我认为这是问题的一部分。

于 2012-09-27T22:48:50.597 回答
3

我的CSS:

<style>
span[class^="rot"]:not([char]):before{
content: '\27b7'; }
span[class^="rot"][char]:before{content: attr(char);}
span[class^="rot"] { position: relative; }
span[class^="rot"]:before {
 position: relative; display: inline-block;
 font-weight: bold; font-size: 16px; line-height:16px;
 font-family: Tahoma, Verdana, sans-serif;
 margin:0;padding:0;
 width:16px;height:16px;
}
.rot-90:before { transform: rotate(-90deg); }
.rot90:before  { transform: rotate(90deg); }
.rot45:before { transform: rotate(45deg); }
.rot-45:before { transform: rotate(-45deg); }
.rot180:before { transform: rotate(180deg); }
</style>
<p>
A long time <span class=rot90 style="color: green"></span> ago  in a  
<span class=rot-45 char="G"></span>alax<span class=rot180 char="y"></span> 
&nbsp; <span class=rot-90 char="F"></span>ar far 
a<span class=rot45 char="w"></span>way

结果

于 2014-11-13T15:18:23.533 回答
0

这适用于最新版本的 chrome

<span style="color:#000; display: inline-block; max-width: 10px;">
A B C
</span>

虽然只写了最里面的跨度

于 2012-09-27T22:46:33.310 回答