JSFiddle - React, Tailwind, and code Playground
HTML
<header id="header">
<nav role="navigation">
<a href="#">Пункт 1</a>
<a href="#">Пункт 2</a>
<a href="#">Пункт 3</a>
<a href="#">Пункт 4</a>
</nav>
</header>
<p>Накануне войны немецкие инженеры работают на советском заводе над производством высокоточной оптики. Судьба и благополучие каждого из них зависит от успеха дела, но пока результата нет — ошибки следуют одна за другой. На фоне производственных неудач и приближения трагической эпохи раскрываются личные проблемы героев и их непростые взаимоотношения. Во время ответственной варки у инженера Ханса случается нервный срыв, приведший к тяжелым последствиям: взрыву, смертям и расследованию советских спецслужб. Свидетелем его проступка становится русский рабочий Пётр. Ханс и Пётр, случайно ставший причастным к преступлению, оказываются в зависимости друг от друга, повязанные страхом разоблачения. Однако взаимное недоверие парадоксальным образом оборачивается духовной близостью. Когда Петр с женой и детьми тайно бежит из города, гонимый страхом расстрела, немецкий инженер вместо облегчения испытывает чувство утраты. Вскоре Ханс возвращается в те же места, но уже в офицерской форме, смотрит в бинокль сквозь созданные им же линзы, обозревая окрестности: а была ли недавняя мирная жизнь</p>
<p>Накануне войны немецкие инженеры работают на советском заводе над производством высокоточной оптики. Судьба и благополучие каждого из них зависит от успеха дела, но пока результата нет — ошибки следуют одна за другой. На фоне производственных неудач и приближения трагической эпохи раскрываются личные проблемы героев и их непростые взаимоотношения. Во время ответственной варки у инженера Ханса случается нервный срыв, приведший к тяжелым последствиям: взрыву, смертям и расследованию советских спецслужб. Свидетелем его проступка становится русский рабочий Пётр. Ханс и Пётр, случайно ставший причастным к преступлению, оказываются в зависимости друг от друга, повязанные страхом разоблачения. Однако взаимное...
CSS
div.header-inner{
width: 1280px;
margin: auto;
}
header{
padding: 25px 50px;
background: rgba(0, 0, 0, 0.7);
overflow: hidden;
}
div.header-inner{position: relative;
overflow: hidden;
}
header.scroll-nav{
position: fixed;
top: 0;
left: 0;
padding: 5px 0;
width: 100%;
background: #cdcfd1;
z-index: 100;
-webkit-transition: all .25s linear;
-moz-transition: all .25s linear;
-o-transition: all .25s linear;
transition: all .25s linear;
}
a.logo-mini{
display: inline-block;
margin-left: 50px;
width: 130px;
height: 43px;
background: url(../img/logo-mini.png) no-repeat;
background-size: 130px 43px;
text-indent: -9999px;
}
div.header-inner nav a,
div.header-inner div.phone{
color: #4c5460;
}
div.header-inner nav{
position: relative;
top: 9px;
left: 30px;
padding: 0;
}
div.header-inner div.phone{
margin-right: 50px;
padding-top: 2px;
}
div.header-inner nav a:hover,
div.header-inner nav a.current{
color: #083a8f;
}
nav,
div.phone{
display: inline-block;
font-family: 'OpenSans-Bold';
color: #fff;
}
nav{
display: inline-block;
padding-top: 6px;
}
nav a{
position: relative;
margin-right: 25px;
padding-bottom: 8px;
font-size: 12px;
text-transform: uppercase;
text-decoration: none;
color: #fff;
z-index: 1;
}
JavaScript
(function() {
var flag = false;
window.onscroll = function() {scrolling()};
function scrolling() {
if (document.body.scrollTop > 450 || document.documentElement.scrollTop > 450) {
document.getElementById("header").className = "scroll-nav";
if (!flag) {
flag = add();
}
} else {
document.getElementById("header").removeAttribute("class");
}
}
function add() {
var elementToWrap = document.querySelector('header').innerHTML;
var wrapper = "<div class='header-inner'>" + elementToWrap + "</div>";
document.querySelector('header').innerHTML = wrapper;
var node = document.createElement("a");
node.setAttribute("href", "#");
node.className = "logo-mini";
var textnode = document.createTextNode("Текст для альта");
node.appendChild(textnode);
var headerInner = document.querySelector(".header-inner");
headerInner.insertBefore(node, headerInner.childNodes[0]);
return true;
}
})();