В настоящее время я немного перепроектировался на своем сайте и столкнулся с небольшой проблемой в отношении элемента заголовка div
и некоторых дочерних элементов с атрибутом float:
.Заголовок div высота не вычисляется, «clear fix» не работает?
В моем заголовке отображается значение высоты 0, а не правильно вычисляется содержимое. Я немного почитал, и я понимаю, что это скорее всего плавающие элементы в навигации (в данном случае .desktoplinkitem
).
Мой код заголовка выглядит следующим образом:
<div class="header videohead">
<div class="mobile-nav">
<div class="mobile-link-container">
<div class="mobile-links">
<li class="linkitem"><a href="homepage">Video</a></li>
<li class="linkitem"><a href="stills">Stills</a></li>
<li class="linkitem"><a href="about">About</a></li>
<li class="linkitem"><a href="emaillink">Contact</a></li> </div>
</div>
</div>
<div class="name logo">Name<br>Title</div>
<div class="right-nav">
<button class="mobilemenu mobilemenu--htx">
<span></span>
</button>
<div class="desktop-nav">
<ul>
<li class="desktoplinkitem"><a href="email-link">Contact</a></li>
<li class="desktoplinkitem"><a href="about.php">About</a></li>
<li class="desktoplinkitem"><a href="link">Stills</a></li>
<li class="desktoplinkitem"><a href="home">Video</a></li> </ul>
</div>
</div>
</div>
CSS-стилизовано как:
.header {
width: 100%;
position: absolute;
top: 0;
z-index: 600;
flex: none;
}
.videohead {
display: inline-block;
}
.desktoplinkitem {
visibility: inherit;
color: inherit;
background: none !important;
}
.linkitem {
visibility: inherit;
color: #FFFFFF;
transform: scale(2, 2) translateX(-100px);
opacity: 0;
}
.right-nav {
position: absolute;
right: 0%;
padding: 35px;
color: #000000;
text-decoration: none;
}
.right-nav ul {
height: auto;
padding: 8px 0px;
margin: 0px;
float: right;
}
.right-nav li {
display: inline;
padding-top: 1em;
padding-bottom: 1em;
padding-left: 1em;
letter-spacing: 1px;
float: right;
}
Я пытался добавить clear fix
взломать без результата (с помощью следующих):
.videohead:after {
content: " ";
display: table;
height: 0;
clear: both;
*zoom: expression(this.runtimeStyle['zoom'] = '1', this.innerHTML += '<div class="ie7-clear"></div>');
}
Страница видна here
Есть ли другой способ приблизиться к этому?
Я удалил 'позиции: absolute' и это заставило мои навигационные элементы, теперь перейдет ниже' .logo' элемента. Я могу исправить это, показывая оба элемента как 'inline-block' и используя' float: ', но у меня по-прежнему возникает проблема с моим основным' .content content video' 'flex box' div, запущенным под' header' div , Я думал, что если высота теперь отображается в заголовке, это приведет к тому, что «контент» будет удален (позволяя центральному вычислению правильно центрировать видео на странице). Это видно по приведенной выше ссылке – hj8ag
Тот факт, что навигатор теперь падает ниже вашего заголовка, фиксируется добавлением 'top: 0;' на ваш правый навигатор. Тот факт, что контент плавает за вашим заголовком, заключается в том, что у вас есть 'position: absolute;' в вашем классе заголовка. Удалите это, и содержимое будет нажато вниз. –
удивительно, спасибо – hj8ag