Вертикальное выравнивание элементов, перекрывающихся в IE
У меня есть эта форма, которую я создаю, которая отлично отображается в Chrome и FF, но в IE полностью неверно выровнена.
Как это должно выглядеть:
Изображение:
HTML:
<!--image upload bit-->
<div class="portlet-content">
<div class="logoInfo">
<h3><strong>Large Logo</strong></h3>
<p>Width: 160px, Height: 20px | image will be resized automatically</p>
</div>
<div class="imageUploadLogo noLogo"><img id="agencyLogo" src="images/logo_silhouette.png" width="170px" height="32px"></div>
<a href="helper/uploadpic.php?lightbox[width]=360&lightbox[height]=140&lightbox[iframe]=1" class="lightbox"><div id="logo_uploada">Upload</div></a>
</div>
<div class="clearfix"></div>
<hr></hr>
<!--//image upload bit-->
<!--office upload bit-->
<div class="portlet-content">
<div class="logoInfo">
<h3><strong>Office Image</strong></h3>
<p>Width: 160px, Height: 120px | image will be resized automatically</p>
</div>
<div class="imageUploadPhoto noPhoto"><img id="agencyLogo" src="images/office_silhouette.png" width="160px" height="120px"></div>
<a href="helper/uploadpic.php?lightbox[width]=360&lightbox[height]=140&lightbox[iframe]=1" class="lightbox"><div id="logo_uploada">Upload</div></a>
<div class="extraInfo">
<h3><strong>Photo of your office</strong></h3>
<p>Image must be actual photograph of your office</p>
</div>
</div>
<div class="clearfix"></div>
<hr></hr>
<!--//office upload bit-->
<h3><strong>Office Description</strong> limited to 1000 characters ( no HTML tags )</h3>
<div class="field2"><label for="description">Office Description</label> <textarea class="resizable" id="officeDesc" rows="7" cols="50" name="description"></textarea>
</div>
<div class="clearfix"></div>
CSS
/*agency profile stuff*/ .noLogo { border: 2px dashed #4f8a10; } .noPhoto { border: 2px dashed #4f8a10; } .imageUploadLogo { background-color: #fff; border: 2px dashed #CECECE; float: left; margin: 0 15px 0 0; padding: 20px 0; text-align: center; width: 190px; } .imageUploadPhoto { background-color: #fff; border: 2px dashed #CECECE; float: left; margin: 0 15px 0 0; padding: 20px 0; text-align: center; width: 190px; } #logo_uploada { position:absolute; left:300px; top:46px; width:180px; background: #999999; font-size: 26px; font-weight: bold; text-align: center; color: #FFF; padding-top: 10px;padding-bottom: 10px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; margin-bottom: 0.4em; margin-top: 0.4em; } #logo_uploada a:visited, #logo_uploada a:link{ color: #fff; } #logo_uploada:hover { background-color: #3399ff; cursor:pointer; } .logoInfo { position:absolute; left:300px; top:5px; } .extraInfo { position:absolute; left:300px; top:110px; }
В соответствии с запросом это выглядит так, как в IE:
Хорошо в обзоре:
1) похоже, что вы используете теги "hr" для границы... когда вам это не нужно. Вместо этого оберните весь контент "портлет-контент" и "imageUploadLogo" с помощью класса (например, "uploadContainer", который имеет "border-bottom: 1px solid #CECECE"; clear: both; display block; padding: 0 0 20px 0; margin: 0 0 20px 0; ширина: 100%;)
.uploadContainer { border-bottom: 1px solid #CECECE; clear: both; display block; padding: 0 0 20px 0; margin: 0 0 20px 0; width: 100%; }
Отступ и маржа для интервала. Затем вы можете удалить теги "hr".
Итак, ваш новый контейнер будет:
<div class="uploadContainer">
<div class="portlet-content">
<div class="logoInfo">
<h3><strong>Office Image</strong></h3>
<p>Width: 160px, Height: 120px | image will be resized automatically</p>
</div>
<div class="imageUploadPhoto noPhoto"><img id="agencyLogo" src="images/office_silhouette.png" width="160px" height="120px"></div>
<a href="helper/uploadpic.php?lightbox[width]=360&lightbox[height]=140&lightbox[iframe]=1" class="lightbox"><div id="logo_uploada">Upload</div></a>
<div class="extraInfo">
<h3><strong>Photo of your office</strong></h3>
<p>Image must be actual photograph of your office</p>
</div>
</div>
2) Нет необходимости в #logo_uploada иметь "position: absolute". Вместо этого установите "display: block;" а затем margin + padding для позиции.
3) Похоже, у вас есть дополнительный "/div" -tag для этих двух контейнеров... должен быть завернут в что-то, верно? # 1, который я опубликовал, должен быть контейнером div для вас.
Все ваши div должны, вероятно, быть reset использовать "display: block", если вы используете css- reset.
Надеюсь, что это поможет! Попробуйте эти стили и отсканируйте, как это происходит.
Связанные вопросы
Похожие вопросы
Посмотрите другие вопросы по меткам css internet-explorer или Задайте вопрос