এইচটিএমএল টেবিল সেলে 90 by দ্বারা টেক্সটটি ঘোরানোর কোনও (পোর্টেবল) উপায় আছে কি?
(শিরোনামগুলির জন্য আমার কাছে অনেকগুলি কলাম এবং অনেকগুলি পাঠ্য সহ একটি টেবিল রয়েছে, তাই আমি স্থান বাঁচাতে উল্লম্বভাবে এটি লিখতে চাই))
এইচটিএমএল টেবিল সেলে 90 by দ্বারা টেক্সটটি ঘোরানোর কোনও (পোর্টেবল) উপায় আছে কি?
(শিরোনামগুলির জন্য আমার কাছে অনেকগুলি কলাম এবং অনেকগুলি পাঠ্য সহ একটি টেবিল রয়েছে, তাই আমি স্থান বাঁচাতে উল্লম্বভাবে এটি লিখতে চাই))
উত্তর:
.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>
Http://css3please.com/ থেকে নেওয়া হয়েছে
২০১৩ সালের হিসাবে, পূর্বোক্ত সাইটটি উত্তরাধিকারী ইন্টারনেট এক্সপ্লোরার ফিল্টার ছাড়ার নিয়মটি সহজ করেছে এবং এখনকার স্ট্যান্ডার্ড transform
সম্পত্তিতে আরও নির্ভর করতে পারে :
.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>
90deg
অবশ্যই, ব্যবহার করছে ...)
square
অন্যথায় ঘোরার পরে উচ্চতা এবং প্রস্থটিও উপাদানটির সাথে ঘোরানো হয় যা চেহারাটি ভেঙে দেয় এবং উপাদানগুলির পাঠ্য অন্যটির সাথে ওভারল্যাপ করে
পাঠ্যটি ঘোরানোর পরিবর্তে, এটি "উপরে থেকে নীচে" লেখাটি কী কাজ করবে?
এটার মত:
S
O
M
E
T
E
X
T
আমি মনে করি এটি অনেক সহজ হবে - আপনি পাঠ্যের একটি স্ট্রিং আলাদা করে বেছে নিতে পারেন এবং প্রতিটি অক্ষরের পরে একটি লাইন ব্রেক সন্নিবেশ করতে পারেন।
এটি ব্রাউজারে জাভাস্ক্রিপ্টের মাধ্যমে এটি করা যেতে পারে:
"SOME TEXT".split("").join("\n")
... বা আপনি এটি সার্ভার-সাইড করতে পারেন, সুতরাং এটি ক্লায়েন্টের জেএস সক্ষমতার উপর নির্ভর করবে না। (আমি ধরে নিয়েছি যে আপনি "পোর্টেবল?" বলতে চাইছেন)
এছাড়াও এটি পড়ার জন্য ব্যবহারকারীকে তার মাথা ঘুরিয়ে নিতে হবে না। :)
এই থ্রেডটি jQuery এর সাথে এটি করা সম্পর্কে।
মূল উত্তর এবং আমার পূর্ববর্তী উত্তরের একটি উক্তি রয়েছে যা আইই 8 লাইনে একে একে আধা-কোলনের নিকটে ফেলে দেয় near হাই এবং BAAAAD! নীচের কোডটিতে রোটেশনটি সঠিকভাবে সেট হয়েছে এবং কাজ করে। ফিল্টার প্রয়োগ করার জন্য আপনাকে IE এ ভাসতে হবে।
<ডিভ স্টাইল = " ভাসা: বাম; অবস্থান: আপেক্ষিক; -মোজ-ট্রান্সফর্ম: ঘোরান (270 ডিগ্রি); / * এফএফ 3.5 + * / -ও-রূপান্তর: ঘোরান (270deg); / * অপেরা 10.5 * / -webkit- রূপান্তর: ঘোরান (270deg); / * সাফ ৩.১ +, ক্রোম * / ফিল্টার: অগ্রণী: DXImageTransform.Mic Microsoft.BasicImage (ঘূর্ণন = 3); / * আই 6, আই 7 * / -এমএস-ফিল্টার: প্রগতি: ডিএক্সআইমেজট্রান্সফর্ম.মাইক্রোসফট.ব্যাসিক আইমেজ (রোটেশন = 3); / * আইই 8 * / " > গণনা ও মান </ div>;
দুই ঘন্টা ধরে চেষ্টা করার পরে, আমি নিরাপদে বলতে পারি যে এখন পর্যন্ত উল্লিখিত সমস্ত পদ্ধতি ব্রাউজারগুলিতে, এমনকি IE এর জন্য এমনকি ব্রাউজার সংস্করণ জুড়ে কাজ করে না ...
উদাহরণস্বরূপ (শীর্ষ upvated উত্তর):
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083); /* IE6,IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)"; /* IE8 */
একবার IE9 এ দুবার ঘুরবে, একবার ফিল্টারের জন্য এবং একবার-মেসি ফিল্টারের জন্য, তাই ...
অন্য সমস্ত উল্লিখিত পদ্ধতিগুলিও কার্যকর হয় না, কমপক্ষে আপনাকে যদি টেবিল শিরোনাম সেলটির কোনও নির্দিষ্ট উচ্চতা / প্রস্থ (ব্যাকগ্রাউন্ড রঙ সহ) নির্ধারণ করতে না হয়, যেখানে এটি স্বয়ংক্রিয়ভাবে সর্বোচ্চ উপাদানটির আকারের সাথে সামঞ্জস্য করা উচিত।
সুতরাং নাথান লং দ্বারা প্রস্তাবিত সার্ভার-সাইড ইমেজ প্রজন্মের বিশদটি জানাতে, যা সত্যিই সর্বজনীনভাবে কাজ করার একমাত্র পদ্ধতি, এখানে আমার জেনেরিক হ্যান্ডলারের (* .এক্সএক্স) ভিবি.এনইটি কোড রয়েছে:
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
মনে রাখবেন যে আপনি যদি এই অংশটি মনে করেন
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
সঙ্গে প্রতিস্থাপন করা যেতে পারে
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png)
কারণ এটি ডেভলপমেন্ট সার্ভারে কাজ করে, তবে আপনি খুব সাধারণভাবে ধরে নিতে ভুল করছেন যে আপনি যদি কোনও উইন্ডোজ 2003 আইআইএস 6 সার্ভারে এটি স্থাপন করেন তবে জেনেরিক জিডিআই + ব্যতিক্রম ছুঁড়ে দেওয়া হবে না ...
তারপরে এটি ব্যবহার করুন:
<img alt="bla" src="GenerateImage.ashx?no_cache=123&text=Hello%20World&rotate=true" />
সম্প্রদায়ে আমার প্রথম অবদান, উদাহরণস্বরূপ একটি সাধারণ পাঠ্য এবং একটি টেবিলের শিরোনাম ঘোরানো, কেবলমাত্র এইচটিএমএল এবং সিএসএস ব্যবহার করে।
এইচটিএমএল
<div class="rotate">text</div>
সিএসএস
.rotate {
display:inline-block;
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
IE ফিল্টার প্লাস সিএসএস রূপান্তর ( সাফারি এবং ফায়ারফক্স )।
আইই-র সমর্থনটি সবচেয়ে পুরনো, সাফারিটির [কমপক্ষে কিছু?] সমর্থন রয়েছে 3.1.2 এ, এবং ফায়ারফক্সের 3.1 পর্যন্ত সমর্থন থাকবে না।
বিকল্পভাবে, আমি ক্যানভাস / ভিএমএল বা এসভিজি / ভিএমএল এর মিশ্রণের পরামর্শ দেব। (ক্যানভাসের বিস্তৃত সমর্থন রয়েছে))
এখানে কিছু যা কিছু সার্ভার সাইড প্রসেসিংয়ের মাধ্যমে প্লেইন-পাঠ্যের জন্য কাজ করে:
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>";
}
যা এরকম কিছু দেয়:
<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>
আমি ফন্ট আশ্চর্য গ্রন্থাগারটি ব্যবহার করছিলাম এবং নিম্নলিখিত যে কোনও এইচটিএমএল উপাদানকে পরীক্ষা করে এটি প্রভাবিত করতে সক্ষম হয়েছি।
<div class="fa fa-rotate-270">
My Test Text
</div>
আপনার মাইলেজ পরিবর্তিত হতে পারে.
আরেকটি সমাধান:
(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);
}) ();
আমি একেবারে স্বীকার করছি যে এটি বেশ হ্যাকিশ, তবে আপনি যদি নিজের সিএসএস ফোটানো এড়াতে চান তবে এটি একটি সহজ সমাধান।
-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*/
এটি দেখুন, আমি আই 7 এর সমাধান খুঁজতে গিয়ে এটি খুঁজে পেয়েছি।
সিএসএসের জন্য সম্পূর্ণ শীতল সমাধান কেবল কম্পন
আত্মার জন্য ধন্যবাদ আইবয়
এবং এখানে স্ট্যাক-ওভারফ্লো লিঙ্কটি আমি এই লিঙ্কটি মিয়া জুড়ে এসেছি
.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;
}