今天射雕在前端扑通做了一个测试:如何将一个字符串反转?比如 abcd => dcba。可以使用任何现有的前端知识。
同时我也把这个问题转到了js森林群里。
比如这么一个字符串:“是css88.com的博主。”反转后应给是:“。主博的moc.88ssc是头码人愚”。
我的第一个反应也是使用js解决:
[code=”html”]
[/code]
[code=”javascript”]
var testString = document.getElementById(“test”).innerHTML;
testString=testString.split(“”).reverse().join(“”);
document.getElementById(“test”).innerHTML=testString;
[/code]
这种回答被射雕评定为“最没创意的答案!”。
js森林的朋友,丸子,PRcss,小志等提出了css的解决办法,就是这两个非常少用的css属性:direction:rtl; unicode-bidi:bidi-override。
[code=”html”]
[/code]
这里有个一个瑕疵,就是文本右对齐了,但是还是符合题目答案的。
解决上面这个瑕疵可以使用float:left这个属性,但是又多了一个浮动。
哎,脑子犯傻了,谢谢船长提醒在留言中的提醒,光使用direction:rtl; unicode-bidi:bidi-override文本是右对齐的,使用text-align:left就能将文本左对齐。
还有一个问题:在文本超过一行显示的时候,js的方法和css的方法显示是不一样的。查看demo:https://www.html.cn/demo/overturn/overturn.html
至于direction和unicode-bidi极其属性值大家可以看看css手册。我也会去再恳一边css手册,不要等css3来了,css2有多少属性还不知道。
为什么要用float:left左对齐?
不用text-align:left?
谢谢船长提醒
无巧不成书。我也写了一篇类似的博客
http://bewho.us/anti-spam-email/
这个属性也是ie only,
楼上的兄弟,测试一下,在下定论!
测试了一下,确实都支持..刚才看了一下手册,被手册给误导了一下..就以为是ie only,
版本:CSS2 兼容性:IE5+ 继承性:无
嘿嘿…有意思
尝试下
是css88.com的博主。
!上面的没显示出代码
<bdo dir="rtl">是css88.com的博主。</bdo>
FF3下有效,不错