占位符在输入字段内自动换行

新手上路,请多包涵

我需要在输入字段中放置一个很长的 placeholder 文本。

但是, placeholder 将因其较长的文本而被删减。

 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<label for="password">
  <input id="password" name="user[password]" placeholder="Password (at least 8 letters, numbers, or punctuation marks)" size="30" type="password">
</label>

有什么办法让它变成这样吗? 在此处输入图像描述

原文由 rj487 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 566
2 个回答
 input{
  height:50px;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  white-space:pre-line;
  position:relative;
  top:-7px;

}
::-moz-placeholder { /* Firefox 19+ */
     white-space:pre-line;
  position:relative;
  top:-7px;
}
:-ms-input-placeholder { /* IE 10+ */
    white-space:pre-line;
  position:relative;
  top:-7px;
}
:-moz-placeholder { /* Firefox 18- */
     white-space:pre-line;
  position:relative;
  top:-7px;
}
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<label for="password">
  <input id="password" name="user[password]" placeholder="Password (at least 8 letters, numbers, or punctuation marks)" size="30" type="password">
</label>

原文由 Gowtham 发布,翻译遵循 CC BY-SA 3.0 许可协议

我已经尝试过除法。你也可以试试:

 var placeholder = '<div>Password </div> <div>(at least 8 letters, numbers, or<br> punctuation marks)</div>';
$("body").click(function(e){
	if($("#input").html() === ""){
    $("#input").html("<div>Password </div> <div>(at least 8 letters, numbers, or<br> punctuation marks)</div>");
    $("#input").css("color", "gray")
  }
});
$('#input').focus(function(){
    if($(this).html() === placeholder){
        $(this).html("");
        $(this).css("color", "black")
    }
});
 #input {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    background-color: white;
    background-color: -moz-field;
    border: 1px solid darkgray;
    box-shadow: 1px 1px 1px 0 lightgray inset;
    font: -moz-field;
    font: -webkit-small-control;
    margin-top: 5px;
    padding: 2px 3px;
    width: 240px;
    height: 30px;
    color: gray;
}
#input div{
    float: left;
    clear: none;
    height: 100%;
    vertical-align:middle;
}
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="input" contenteditable><div>Password </div> <div>(at least 8 letters, numbers, or<br> punctuation marks)</div></div>

原文由 Prifulnath 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏