How do I rotate individual letters and keep them flowing left-to-right?

前端 未结 4 1671
天涯浪人
天涯浪人 2021-01-04 12:02

I am trying to get a string with each individual letter rotated 90 degrees; however, I want to keep the \"flow\" of letters going left-to-right, not vertical. I also want to

相关标签:
4条回答
  • 2021-01-04 12:39

    my 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
    

    result

    0 讨论(0)
  • 2021-01-04 12:46

    This works in latest version of chrome

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

    only wrote the innermost span though

    0 讨论(0)
  • 2021-01-04 12:59

    Pure 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);
    }​
    

    Demo

    0 讨论(0)
  • 2021-01-04 13:01

    Here's some js that should do the trick: 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"
            });
        });
    });
    

    And I accidentally threw in some bonus shifting rotation since I imagined that was part of the question.

    0 讨论(0)
提交回复
热议问题