Vertikaler (gedrehter) Text in der HTML-Tabelle


119

Gibt es eine (tragbare) Möglichkeit, Text in einer HTML-Tabellenzelle um 90 ° zu drehen?

(Ich habe eine Tabelle mit vielen Spalten und viel Text für die Überschriften, daher möchte ich sie aus Platzgründen vertikal schreiben.)



Mögliches Duplikat der vertikalen

Antworten:


105

.box_rotate {
     -moz-transform: rotate(7.5deg);  /* FF3.5+ */
       -o-transform: rotate(7.5deg);  /* Opera 10.5 */
  -webkit-transform: rotate(7.5deg);  /* Saf3.1+, Chrome */
             filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083);  /* IE6,IE7 */
         -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)"; /* IE8 */
    }
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>
<div class="box_rotate">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>

Entnommen aus http://css3please.com/

Ab 2017 hat die oben genannte Site den Regelsatz vereinfacht, um ältere Internet Explorer-Filter zu löschen und sich mehr auf die jetzt standardmäßige transformEigenschaft zu verlassen :

.box_rotate {
  -webkit-transform: rotate(7.5deg);  /* Chrome, Opera 15+, Safari 3.1+ */
      -ms-transform: rotate(7.5deg);  /* IE 9 */
          transform: rotate(7.5deg);  /* Firefox 16+, IE 10+, Opera */
}
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>
<div class="box_rotate">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae porta lectus. Suspendisse dolor mauris, scelerisque ut diam vitae, dictum ultricies est. Cras sit amet erat porttitor arcu lacinia ultricies. Morbi sodales, nisl vitae imperdiet consequat, purus nunc maximus nulla, et pharetra dolor ex non dolor.</div>


Das sieht gut aus - ich werde überprüfen, wie gut dies mit verschiedenen Browsern funktioniert. (Und 90degnatürlich mit ...)
Florian Jenn

9
Es gibt jedoch ein Problem: Die Breite der Tabellenüberschriften in den Spalten wird nach dem Drehen bei Bedarf nicht vergrößert, sodass sie leichtfertig aussehen (in FF versucht) :(
xaralis

3
Ja, in Firefox (ich kenne die anderen Browser nicht) wird entweder das <tr> gedreht und der Rest der Spalte wird nicht angepasst ODER Sie können ein <div> in das <tr> einfügen und mit dem Einstellen des experimentieren <tr> POSITION zu RELATIVE und das enthaltene <div> zu ABSOLUTE und es ist -moz-transform-origin: 0 50%; Dadurch wird die Position korrigiert. Um die richtige Breite und Höhe zu erhalten, müssen Sie möglicherweise jquery oder etwas verwenden, um die Breite und Höhe des <tr> auf die Höhe und Breite des <div> (bzw.) einzustellen .
Adrian Garner

2
Funktioniert nur, wenn Sie quadratische Zellen haben, spart also keinen horizontalen Platz
99 Probleme - Die Syntax ist nicht eine

1
Dies funktioniert nur für Zellen, die sind square, sonst werden nach der Drehung die Höhe und Breite zusammen mit dem Element gedreht, das das Aussehen bricht, und der
Elementtext

35

Alternative Lösung?

Würde es funktionieren, den Text "von oben nach unten" zu schreiben, anstatt ihn zu drehen?

So was:

S  
O  
M  
E  

T  
E  
X  
T  

Ich denke, das wäre viel einfacher - Sie können eine Textfolge auseinander nehmen und nach jedem Zeichen einen Zeilenumbruch einfügen.

Dies könnte über JavaScript im Browser folgendermaßen erfolgen:

"SOME TEXT".split("").join("\n")

... oder Sie könnten es serverseitig tun, damit es nicht von den JS-Fähigkeiten des Clients abhängt. (Ich nehme an, das ist es, was du mit "tragbar" meinst.)

Außerdem muss der Benutzer seinen Kopf nicht zur Seite drehen, um ihn zu lesen. :) :)

Aktualisieren

In diesem Thread geht es darum, dies mit jQuery zu tun.


1
Es gibt eine Studie, die zeigt, dass ein Layout weniger lesbar ist, das sich nach links / rechts dreht
Édouard Lopez

14

Die ursprüngliche Antwort und meine vorherige Antwort in der IE8-Zeile enthalten ein Zitat, das dies direkt neben dem Semikolon auslöst. Huch und BAAAAD! Der folgende Code hat die Rotation richtig eingestellt und funktioniert. Sie müssen im IE schweben, damit der Filter angewendet wird.

<div style = "
    float: left; 
    Position: relativ;
    -Moz-Transformation: drehen (270 Grad); / * FF3.5 + * /        
    -o-Transformation: drehen (270 Grad); / * Opera 10.5 * /   
    -webkit-transform: drehen (270 Grad); / * Saf3.1 +, Chrome * /              
    filter: progid: DXImageTransform.Microsoft.BasicImage (Rotation = 3); / * IE6, IE7 * /          
    -ms-filter: progid: DXImageTransform.Microsoft.BasicImage (Rotation = 3); / * IE8 * /           
""
> Count & Value </ div>;

5
+1 für den Hinweis auf die Notwendigkeit von float, damit dies im IE funktioniert.
RET

4

Nachdem ich es über zwei Stunden lang versucht habe, kann ich mit Sicherheit sagen, dass alle bisher genannten Methoden nicht für alle Browser oder für den Internet Explorer sogar für alle Browserversionen funktionieren ...

Zum Beispiel (Antwort mit der höchsten Bewertung):

 filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083);  /* IE6,IE7 */
     -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)"; /* IE8 */

dreht sich zweimal in IE9, einmal für Filter und einmal für -ms-Filter, also ...

Alle anderen genannten Methoden funktionieren auch nicht, zumindest nicht, wenn Sie keine feste Höhe / Breite der Tabellenkopfzelle (mit Hintergrundfarbe) festlegen müssen, wo sie automatisch an die Größe des höchsten Elements angepasst werden soll.

Um auf die von Nathan Long vorgeschlagene serverseitige Bilderzeugung einzugehen, die wirklich die einzige universell funktionierende Methode ist, hier mein VB.NET-Code für einen generischen Handler (* .ashx):

Imports System.Web
Imports System.Web.Services


Public Class GenerateImage
    Implements System.Web.IHttpHandler


    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        'context.Response.ContentType = "text/plain"
        'context.Response.Write("Hello World!")
        context.Response.ContentType = "image/png"

        Dim strText As String = context.Request.QueryString("text")
        Dim strRotate As String = context.Request.QueryString("rotate")
        Dim strBGcolor As String = context.Request.QueryString("bgcolor")

        Dim bRotate As Boolean = True

        If String.IsNullOrEmpty(strText) Then
            strText = "No Text"
        End If


        Try
            If Not String.IsNullOrEmpty(strRotate) Then
                bRotate = System.Convert.ToBoolean(strRotate)
            End If
        Catch ex As Exception

        End Try


        'Dim img As System.Drawing.Image = GenerateImage(strText, "Arial", bRotate)
        'Dim img As System.Drawing.Image = CreateBitmapImage(strText, bRotate)

        ' Generic error in GDI+
        'img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png)

        'Dim bm As System.Drawing.Bitmap = New System.Drawing.Bitmap(img)
        'bm.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png)

        Using msTempOutputStream As New System.IO.MemoryStream
            'Dim img As System.Drawing.Image = GenerateImage(strText, "Arial", bRotate)
            Using img As System.Drawing.Image = CreateBitmapImage(strText, bRotate, strBGcolor)
                img.Save(msTempOutputStream, System.Drawing.Imaging.ImageFormat.Png)
                msTempOutputStream.Flush()

                context.Response.Buffer = True
                context.Response.ContentType = "image/png"
                context.Response.BinaryWrite(msTempOutputStream.ToArray())
            End Using ' img

        End Using ' msTempOutputStream

    End Sub ' ProcessRequest


    Private Function CreateBitmapImage(strImageText As String) As System.Drawing.Image
        Return CreateBitmapImage(strImageText, True)
    End Function ' CreateBitmapImage


    Private Function CreateBitmapImage(strImageText As String, bRotate As Boolean) As System.Drawing.Image
        Return CreateBitmapImage(strImageText, bRotate, Nothing)
    End Function


    Private Function InvertMeAColour(ColourToInvert As System.Drawing.Color) As System.Drawing.Color
        Const RGBMAX As Integer = 255
        Return System.Drawing.Color.FromArgb(RGBMAX - ColourToInvert.R, RGBMAX - ColourToInvert.G, RGBMAX - ColourToInvert.B)
    End Function



    Private Function CreateBitmapImage(strImageText As String, bRotate As Boolean, strBackgroundColor As String) As System.Drawing.Image
        Dim bmpEndImage As System.Drawing.Bitmap = Nothing

        If String.IsNullOrEmpty(strBackgroundColor) Then
            strBackgroundColor = "#E0E0E0"
        End If

        Dim intWidth As Integer = 0
        Dim intHeight As Integer = 0


        Dim bgColor As System.Drawing.Color = System.Drawing.Color.LemonChiffon ' LightGray
        bgColor = System.Drawing.ColorTranslator.FromHtml(strBackgroundColor)

        Dim TextColor As System.Drawing.Color = System.Drawing.Color.Black
        TextColor = InvertMeAColour(bgColor)

        'TextColor = Color.FromArgb(102, 102, 102)



        ' Create the Font object for the image text drawing.
        Using fntThisFont As New System.Drawing.Font("Arial", 11, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel)

            ' Create a graphics object to measure the text's width and height.
            Using bmpInitialImage As New System.Drawing.Bitmap(1, 1)

                Using gStringMeasureGraphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bmpInitialImage)
                    ' This is where the bitmap size is determined.
                    intWidth = CInt(gStringMeasureGraphics.MeasureString(strImageText, fntThisFont).Width)
                    intHeight = CInt(gStringMeasureGraphics.MeasureString(strImageText, fntThisFont).Height)

                    ' Create the bmpImage again with the correct size for the text and font.
                    bmpEndImage = New System.Drawing.Bitmap(bmpInitialImage, New System.Drawing.Size(intWidth, intHeight))

                    ' Add the colors to the new bitmap.
                    Using gNewGraphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bmpEndImage)
                        ' Set Background color
                        'gNewGraphics.Clear(Color.White)
                        gNewGraphics.Clear(bgColor)
                        gNewGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
                        gNewGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias


                        ''''

                        'gNewGraphics.TranslateTransform(bmpEndImage.Width, bmpEndImage.Height)
                        'gNewGraphics.RotateTransform(180)
                        'gNewGraphics.RotateTransform(0)
                        'gNewGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault


                        gNewGraphics.DrawString(strImageText, fntThisFont, New System.Drawing.SolidBrush(TextColor), 0, 0)

                        gNewGraphics.Flush()

                        If bRotate Then
                            'bmpEndImage = rotateImage(bmpEndImage, 90)
                            'bmpEndImage = RotateImage(bmpEndImage, New PointF(0, 0), 90)
                            'bmpEndImage.RotateFlip(RotateFlipType.Rotate90FlipNone)
                            bmpEndImage.RotateFlip(System.Drawing.RotateFlipType.Rotate270FlipNone)
                        End If ' bRotate

                    End Using ' gNewGraphics

                End Using ' gStringMeasureGraphics

            End Using ' bmpInitialImage

        End Using ' fntThisFont

        Return bmpEndImage
    End Function ' CreateBitmapImage


    ' http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx
    ' http://msdn.microsoft.com/en-us/library/7e1w5dhw.aspx
    ' http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=286
    ' http://road-blogs.blogspot.com/2011/01/rotate-text-in-ssrs.html
    Public Shared Function GenerateImage_CrappyOldReportingServiceVariant(ByVal strText As String, ByVal strFont As String, bRotate As Boolean) As System.Drawing.Image
        Dim bgColor As System.Drawing.Color = System.Drawing.Color.LemonChiffon ' LightGray
        bgColor = System.Drawing.ColorTranslator.FromHtml("#E0E0E0")


        Dim TextColor As System.Drawing.Color = System.Drawing.Color.Black
        'TextColor = System.Drawing.Color.FromArgb(255, 0, 0, 255)

        If String.IsNullOrEmpty(strFont) Then
            strFont = "Arial"
        Else
            If strFont.Trim().Equals(String.Empty) Then
                strFont = "Arial"
            End If
        End If


        'Dim fsFontStyle As System.Drawing.FontStyle = System.Drawing.FontStyle.Regular
        Dim fsFontStyle As System.Drawing.FontStyle = System.Drawing.FontStyle.Bold
        Dim fontFamily As New System.Drawing.FontFamily(strFont)
        Dim iFontSize As Integer = 8 '//Change this as needed


        ' vice-versa, because 270° turn
        'Dim height As Double = 2.25
        Dim height As Double = 4
        Dim width As Double = 1

        ' width = 10
        ' height = 10

        Dim bmpImage As New System.Drawing.Bitmap(1, 1)
        Dim iHeight As Integer = CInt(height * 0.393700787 * bmpImage.VerticalResolution) 'y DPI
        Dim iWidth As Integer = CInt(width * 0.393700787 * bmpImage.HorizontalResolution) 'x DPI

        bmpImage = New System.Drawing.Bitmap(bmpImage, New System.Drawing.Size(iWidth, iHeight))



        '// Create the Font object for the image text drawing.
        'Dim MyFont As New System.Drawing.Font("Arial", iFontSize, fsFontStyle, System.Drawing.GraphicsUnit.Point)
        '// Create a graphics object to measure the text's width and height.
        Dim MyGraphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bmpImage)
        MyGraphics.Clear(bgColor)


        Dim stringFormat As New System.Drawing.StringFormat()
        stringFormat.FormatFlags = System.Drawing.StringFormatFlags.DirectionVertical
        'stringFormat.FormatFlags = System.Drawing.StringFormatFlags.DirectionVertical Or System.Drawing.StringFormatFlags.DirectionRightToLeft
        Dim solidBrush As New System.Drawing.SolidBrush(TextColor)
        Dim pointF As New System.Drawing.PointF(CSng(iWidth / 2 - iFontSize / 2 - 2), 5)
        Dim font As New System.Drawing.Font(fontFamily, iFontSize, fsFontStyle, System.Drawing.GraphicsUnit.Point)


        MyGraphics.TranslateTransform(bmpImage.Width, bmpImage.Height)
        MyGraphics.RotateTransform(180)
        MyGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault
        MyGraphics.DrawString(strText, font, solidBrush, pointF, stringFormat)
        MyGraphics.ResetTransform()

        MyGraphics.Flush()

        'If Not bRotate Then
        'bmpImage.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone)
        'End If

        Return bmpImage
    End Function ' GenerateImage



    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property ' IsReusable


End Class

Beachten Sie, dass, wenn Sie denken, dass dieser Teil

        Using msTempOutputStream As New System.IO.MemoryStream
            'Dim img As System.Drawing.Image = GenerateImage(strText, "Arial", bRotate)
            Using img As System.Drawing.Image = CreateBitmapImage(strText, bRotate, strBGcolor)
                img.Save(msTempOutputStream, System.Drawing.Imaging.ImageFormat.Png)
                msTempOutputStream.Flush()

                context.Response.Buffer = True
                context.Response.ContentType = "image/png"
                context.Response.BinaryWrite(msTempOutputStream.ToArray())
            End Using ' img

        End Using ' msTempOutputStream

kann durch ersetzt werden

img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png)

Da es auf dem Entwicklungsserver funktioniert, wird fälschlicherweise angenommen, dass derselbe Code keine generische GDI + -Ausnahme auslösen würde, wenn Sie ihn auf einem Windows 2003 IIS 6-Server bereitstellen ...

dann benutze es so:

<img alt="bla" src="GenerateImage.ashx?no_cache=123&text=Hello%20World&rotate=true" />

Dies hängt jedoch von VB.NET ab, das auch nicht universell portierbar ist. (Aber zumindest verschiebt das Problem von den Clients auf den Server.)
Florian Jenn

@Florian Jenn: Nun ja, VB.NET-Code hängt von VB.NET ab, aber Sie können dasselbe mit PHP oder Phyton oder Ruby oder whater tun :) Konvertieren Sie ihn übrigens in C # und lassen Sie ihn auf Mono laufen Linux oder Mac oder Solaris.
Stefan Steiger

4

Mein erster Beitrag zur Community, zum Beispiel das Drehen eines einfachen Textes und der Kopfzeile einer Tabelle, nur mit HTML und CSS.

Geben Sie hier die Bildbeschreibung ein

HTML

<div class="rotate">text</div>

CSS

.rotate {
  display:inline-block;
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

Hier ein Beispiel in jsfiddle


Es wird derzeit empfohlen, anstelle von jsfiddle ein Snippet zu verwenden.
Matsjoyce

Wenn ich das richtig verstehe, sind dies die aktuellen CSS-Regeln im Vergleich zur Lösung von Álvaro G. Vicario?
Florian Jenn

@matsjoyce Snippet hat viele Fehler und bricht auch dazwischen, wodurch es die Arbeit
verliert

1
Diese Antwort funktioniert nur für quadratische Zellen. Sie bricht für rechteckige Zellen. Jsfiddle.net/a2uxgm44/156
Rajshekar Reddy

3

IE-Filter plus CSS-Transformationen ( Safari und Firefox ).

Die Unterstützung von IE ist die älteste, Safari hat [zumindest einige?] Unterstützung in 3.1.2 und Firefox wird erst in Version 3.1 unterstützt.

Alternativ würde ich eine Mischung aus Canvas / VML oder SVG / VML empfehlen. (Leinwand hat eine breitere Unterstützung.)


Ich stimme der Augenlidlosigkeit zu. Im Moment ist alles ein "Hack". Nicht ganz bereit für die Hauptsendezeit.
Diodeus - James MacFarlane

2

Hier ist eine, die für Klartext mit einigen serverseitigen Verarbeitungen funktioniert:

public string RotateHtmltext(string innerHtml)
{
   const string TRANSFORMTEXT = "transform: rotate(90deg);";
   const string EXTRASTYLECSS = "<style type='text/css'>.r90 {"
                                 + "-webkit-" + TRANSFORMTEXT
                                 + "-moz-" + TRANSFORMTEXT
                                 + "-o-" + TRANSFORMTEXT
                                 + "-ms-" + TRANSFORMTEXT
                                 + "" + TRANSFORMTEXT
                                 + "width:1em;line-height:1ex}</style>";
   const string WRAPPERDIV = "<div style='display: table-cell; vertical-align: middle;'>";

   var newinnerHtml = string.Join("</div>"+WRAPPERDIV, Regex.Split(innerHtml, @"<br */?>").Reverse());

   newinnerHtml = Regex.Replace(newinnerHtml, @"((?:<[^>]*>)|(?:[^<]+))",
                                 match => match.Groups[1].Value.StartsWith("<")
                                             ? match.Groups[1].Value
                                             : string.Join("", match.Groups[1].Value.ToCharArray().Select(x=>"<div class='r90'>"+x+"</div>")),
                                 RegexOptions.Singleline);
   return EXTRASTYLECSS + WRAPPERDIV + newinnerHtml + "</div>";
}

das gibt so etwas wie:

<style type="text/css">.r90 {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
width: 1em;
line-height: 1ex; 
}</style>
<div style="display: table-cell; vertical-align: middle;">
<div class="r90">p</div>
<div class="r90">o</div>
<div class="r90">s</div>
</div><div style="display: table-cell; vertical-align: middle;">
<div class="r90">(</div>
<div class="r90">A</div>
<div class="r90">b</div>
<div class="r90">s</div>
<div class="r90">)</div>
</div>

http://jsfiddle.net/TzzHy/


1

Ich habe die Font Awesome-Bibliothek verwendet und konnte diesen Effekt erzielen, indem ich Folgendes an ein beliebiges HTML-Element angeheftet habe.

<div class="fa fa-rotate-270">
  My Test Text
</div>

Ihr Kilometerstand kann variieren.


1

Eine andere Lösung:

(function () {

    var make_rotated_text = function (text)
    {
        var can = document.createElement ('canvas');
        can.width = 10;
        can.height = 10;
        var ctx=can.getContext ("2d");
        ctx.font="20px Verdana";
        var m = ctx.measureText(text);
        can.width = 20;
        can.height = m.width;
        ctx.font="20px Verdana";
        ctx.fillStyle = "#000000";
        ctx.rotate(90 * (Math.PI / 180));
        ctx.fillText (text, 0, -2);
        return can;
    };

    var canvas = make_rotated_text ("Hellooooo :D");
    var body = document.getElementsByTagName ('body')[0];
    body.appendChild (canvas);

}) ();

Ich gebe absolut zu, dass dies ziemlich hackisch ist, aber es ist eine einfache Lösung, wenn Sie vermeiden möchten, Ihr CSS aufzublähen.


0
-moz-transform: rotate(7.5deg);  /* FF3.5+ */
-o-transform: rotate(7.5deg);  /* Opera 10.5 */
-webkit-transform: rotate(7.5deg);  /* Saf3.1+, Chrome */
filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=1);  /* IE6,IE7 allows only 1, 2, 3 */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; /* IE8 allows only 1 2 or 3*/

0

Schauen Sie sich das an, ich habe es gefunden, als ich nach einer Lösung für IE 7 gesucht habe.

total eine coole lösung für css only vibes

Danke aiboy für die soultion

Hier ist der Link

und hier ist der Stack-Overflow-Link, bei dem ich auf diesen Link gestoßen bin

         .vertical-text-vibes{

                /* this is for shity "non IE" browsers
                   that dosn't support writing-mode */
                -webkit-transform: translate(1.1em,0) rotate(90deg);
                   -moz-transform: translate(1.1em,0) rotate(90deg);
                     -o-transform: translate(1.1em,0) rotate(90deg);
                        transform: translate(1.1em,0) rotate(90deg);
                -webkit-transform-origin: 0 0;
                   -moz-transform-origin: 0 0;
                     -o-transform-origin: 0 0;
                        transform-origin: 0 0;  
             /* IE9+ */    ms-transform: none;    
                   -ms-transform-origin: none;    
        /* IE8+ */    -ms-writing-mode: tb-rl;    
   /* IE7 and below */    *writing-mode: tb-rl;

            }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.