【发布时间】:2013-10-28 12:13:07
【问题描述】:
我设置了一个 demo,它有 5 个浮动的 <div>s,带有不同长度的旋转文本。我想知道是否有一种方法可以让 CSS 类不管长度如何都可以处理所有文本的居中。目前,我必须为样式表中的每个字符长度创建一个类。这可能会变得太混乱。我还注意到,如果我增加或减少包装 <div> 的大小,偏移会搞砸。
我将通过 jQuery 将这些类添加到 div 中,但我仍然必须设置每个类以实现跨浏览器兼容性。
.transform3 {
-webkit-transform-origin: 65% 100%;
-moz-transform-origin: 65% 100%;
-ms-transform-origin: 65% 100%;
-o-transform-origin: 65% 100%;
transform-origin: 65% 100%;
}
.transform4 {
-webkit-transform-origin: 70% 110%;
-moz-transform-origin: 70% 110%;
-ms-transform-origin: 70% 110%;
-o-transform-origin: 70% 110%;
transform-origin: 70% 110%;
}
.transform5 {
-webkit-transform-origin: 80% 120%;
-moz-transform-origin: 80% 120%;
-ms-transform-origin: 80% 120%;
-o-transform-origin: 80% 120%;
transform-origin: 80% 120%;
}
.transform6 {
-webkit-transform-origin: 85% 136%;
-moz-transform-origin: 85% 136%;
-ms-transform-origin: 85% 136%;
-o-transform-origin: 85% 136%;
transform-origin: 85% 136%;
}
.transform7 {
-webkit-transform-origin: 90% 150%;
-moz-transform-origin: 90% 150%;
-ms-transform-origin: 90% 150%;
-o-transform-origin: 90% 150%;
transform-origin: 90% 150%;
}
注意:我设置的偏移值是目测的。
更新
虽然我希望使用样式表来处理这个问题,但我相信我必须计算 JavaScript 中 CSS 的转换。
我创建了以下demo 来演示动态转换。在这个demo中,用户可以调整.v_text类的font-size,只要文字的长度不超过.v_text_wrapper的高度,文字应该垂直居中对齐,但要注意我必须调整magicOffset 的值。
好吧,我刚刚注意到这在 iOS 中不起作用...谢谢@Dinesh Kumar DJ
【问题讨论】:
-
jsfiddle.net/geA27/11 更新了 jsfiddle
-
我会将您的更新设置为基线。为什么在将元素添加到文档之前计算偏移量很重要?
-
元素位置、宽度等在添加到dom之前不会计算
-
我认为这是你需要的,jsfiddle.net/geA27/15,你可以根据需要优化代码,谢谢
-
不使用
text-align:center来处理居中问题我觉得很愚蠢...
标签: javascript jquery html css transform