textarea placeholder 换行问题处理

APP中嵌入webview时  碰到的文字对齐需求  ----主测 chrome   firefox   safaricss

第一感受就是直接在placeholder属性中写入 \n  <br> 之类的 ,然而并没什么用html

网上查了下   各类说辞不一, 概括总结以下:android

有效方法列表:web

· 相似\n的解决方式   如:chrome

[1]  placeholder="Line 1   &#13;&#10;  Line 2"浏览器

[2]   placeholder="Line 1ide

Line2"      ----这个是随便测试的,由于会打乱代码格式   我的并不推荐测试

---- chrome 浏览器中测试有效   safari  firefox 无效spa


·使用 css  ::before   或  ::after  样式实现firefox

<textarea id="textline" placeholder="..." rows="5"></textarea>
<style>
#textline::-webkit-input-placeholder::before {
    display:block;
    color:#666;
    content: "line1 \A line2 \A line3 \A";
}
</style>

---- safari  浏览器中测试有效   chrome  firefox无效 


同理 使用  -moz-placeholder    before   after  尝试解决 firefox 浏览器兼容问题

搜索参考了网上的一段css样式     内容以下:

/* all */
::-webkit-input-placeholder { color:#f00; }
::-moz-placeholder { color:#f00; } /* firefox 19+ */
:-ms-input-placeholder { color:#f00; } /* ie */
input:-moz-placeholder { color:#f00; }

/* individual: webkit */
#field2::-webkit-input-placeholder { color:#00f; }
#field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }

/* individual: mozilla */
#field2::-moz-placeholder { color:#00f; }
#field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }

然而实际测试发现并无什么用 -------


不过 到这边   已经解决了  android  及  iOS  嵌入的webview中  placeholder 提示换行问题

就不过分纠结了


其余搜集方法列表:

· 使用js   在定义的字符串中   如: var ph = "line \n  another line \n third line";

而后再赋值到placeholder 属性上 

·结合div   css 实现样式覆盖 

实现起来感受比较麻烦  仍是算了吧


若是你也碰到了这个问题   看到这个 ,而且方便的解决了  firefox  的兼容问题,欢迎留言交流 :)

相关文章
相关标签/搜索