こんにちは私はz-indexの使用に問題があります。いくつかの入力フィールドがあるフォームがあります。それらの横に、phpエラーメッセージをエコーするためのいくつかのエラーdivがあります。私が抱えている問題は、エラーが設定されたときにのみ発生するエラーdivが、入力フィールドの改行につながることです。
.wrapper #mainframe #left #frame form fieldset ul .fr {
width: 180px;
float: left;
margin-bottom: 18px;
margin-left: 25px;
}
.wrapper #mainframe #left #frame form fieldset ul input.err {
width: 180px;
height: 18px;
line-height: 18px;
padding-left: 5px;
margin-top: 3px;
outline:none;
background-image: url(../images/error.png);
background-repeat:no-repeat;
background-position: 172px 50%;
}
.wrapper #mainframe #left #frame form fieldset ul .erl {
color: #FFF;
position: relative;
z-index: 1;
background-color: #f23;
width: 200px;
height: 30px;
font-family:Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
line-height: 30px;
text-align: center;
left: +217px;
top: 25px;
}
ここにhtmlコードがあります:
<li class="fr">
<label for="a">a</label>
<?php if (isset($errors['a'])):?>
<input class="err" type="text" id="a" name="a" value="<?php echo isset ($_POST['a'])? $_POST['a'] : ''; ?>" tabindex="20" autocomplete="off"/>
<?php if ( isset($errors['a'])
&& empty($errors['a'][0]) == true ):?>
<?php echo "<div class='erl'>";
echo $errors['a'][0];
echo "</div>";
endif;?>
<?php endif;?>
だから私はこれが起こっている理由を理解していません。z-indexを使用することは、2つのレイヤー(z-index:0とz-index:1)を作成するようなもので、2番目のレイヤーのz-index:1の左側と右側に十分な場所があるはずだと思いました。これを解決する方法を教えてくれる人がいたら、本当にありがたいです。どうもありがとう。