私は内部にいくつかの要素があるセクションがあります。彼らはすべて同じ行/行にあります。 div要素とCSSを組み合わせて、すべての要素を隣り合わせに配置しました。要素をレイアウトするのがベストプラクティスかどうかは分かりません。私の問題は、ユーザーが検索基準を満たしていない場合に発生するメッセージボックスです。フィールドボックスはdisplay:none
に設定されています。メッセージが表示されたらSearch
をクリックすると、すべてが左に移動します。要素を左に押すのではなく、画面の右側にメッセージを展開できるかどうか疑問に思っていますか?また、私はそれがどのように小さな画面に影響し、その場合に最良の選択肢になるのだろうかと思います。divを設定してスペースをコンテナの最後に置くにはどうすればいいですか?
$('#searchBtn').on('click',searchFun);
function searchFun(){
var menuVal = $.trim($('#menu').val()),
\t searchFldVal = $.trim($('#searchFld').val());
if(!searchFldVal){
\t \t $('#searchMsg').addClass("error").show().text('This field is required.').delay(4000).fadeOut('slow').queue(function(){
\t \t $(this).removeClass("error").dequeue();
\t \t });
\t }else if(searchFldVal.length < 3){
\t \t $('#searchMsg').addClass("error").show().text('You must enter at least 3 characters to search on.').delay(4000).fadeOut('slow').queue(function(){
\t \t $(this).removeClass("error").dequeue();
\t \t });
\t }else{
console.log('Search record.');
}
}
section.mainBox{
\t width: 100%;
\t padding-top: 0;
\t background-color: white;
\t border: 2px solid #000099;
}
div#Container {
\t padding-top: 8px;
\t padding-bottom: 8px;
\t text-align: center;
\t background-color: #B0C4DE;
\t border-bottom: 2px solid #000099;
}
div.nextTo {
\t display: inline-block;
\t margin-left: 5px;
}
span.msgMainBox {
\t display:none;
\t margin: 2px 5px;
\t padding:2px 25px 2px 35px;
}
span.error {
\t border: 1px solid;
\t margin: 5px;
\t padding:5px 10px 5px 40px;
\t background-repeat: no-repeat;
\t background-position: 10px center;
\t border-radius: 3px;
\t display: block;
}
span.error {
\t color: #D8000C;
\t background-color: #FFBABA;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="mainBox">
<div id="Container">
<div class="nextTo">
<select name="menu" id="menu">
<option value="1">Name</option>
<option value="2">DOB</option>
<option value="3">City</option>
</select>
</div>
<div class="nextTo">
<input type="text" name="searchFld" id="searchFld" size="24" maxlength="24" value="" title="Maximum size of the field is 24 characters." placeholder="Example: Marco Polo" />
</div>
<div class="nextTo">
<input type="button" name="searchBtn" id="searchBtn" value="Search"/>
</div>
<div class="nextTo">
<input type="button" name="lockBtn" id="lockBtn" value="Unlock" style="display:none" />
</div>
<div class="nextTo">
<span id="searchMsg" class="msgMainBox"></span>
</div>
</div>
</section>
入力タグの周りのdivの目的は何ですか?また、 ''は、閉じスラッシュを使用しないか、必要としません。 – Rob