Фиксированное меню: снизу и сверху экрана
Фиксированное меню меню может пригодится практически везде. Ведь оно не занимает много места, заметно, и пользователь может перейти на любую страницу вашего сайта без особых трудностей поиска блока меню.
HTML
<div class="topMenu"> <a href="#">BlueCode.ru</a><a href="#">BlueCode.ru</a><a href="#">BlueCode.ru</a><a href="#">BlueCode.ru</a><a href="#">BlueCode.ru</a><a href="#top">Наверх!</a> </div>
CSS
Как обычно, начнем с оформления главного класса topMenu: прозрачность, transition, фон, внутренние отступы:
.topMenu { background-color: #008DFF; /* */ padding:10px; /* Внутренние оступы */ color:#fff; /* Цвет текста */ font-weight:bold; /* Толщина текста */ position:fixed; /* Фиксированное позиционирование */ top:0; /* Сверху 0, прижимаем к верху экрана */ left:50px; right:50px; /* Слева и справа по 50px отступов */ text-align:center; /* Расположение текста по центру */ /* Прозрачность старт */ -moz-opacity: 0.50; opacity: 0.50; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=50); /* Прозрачность конец */ /* transition старт */ -webkit-transition:All 1s ease; -moz-transition:All 1s ease; -o-transition:All 1s ease; /* transition конец */ }
Теперь, при наведении сделаем так, чтобы прозрачность исчезла:
.topMenu:hover { -moz-opacity: 1; opacity: 1; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=100); }
Ссылки: внутренние отступы, цвет текста, фон при наведении:
.topMenu a{ padding:10px; /* Внутренние оступы */ color:#fff; /* Цвет ссылки */ text-decoration:none; /* Отсутствие нижней линии */ } .topMenu a:hover{ background-color:#007CE1; /* Цвет фона */ }
Теперь самое интересное. Делаем уголки. Для этого мы будем использовать псевдоклассы :after, для первого уголка, и псевдокласс :before, который идет последним.
Для создания уголков используют свойства border-width, border-style, border-color. Так же, чтобы получить уголок, нужно сначала запозиционировать его и расположить в том месте, где хотим увидеть уголок.
Для начала создадим первый уголок:
.topMenu:after { border-width:0 30px 42px 0; /* Толщина границы. Сверху 0, справа 20px, снизу 20px, слева 0. */ border-style:solid; /* Тип обводки */ border-color:#fff #008DFF; /* Цвет обводки. Сверху и снизу #fff, слева и справа #008DFF */ content:""; position:absolute; /* Абсолютное позиционирование */ top:0; /* Отступы сверху */ left:0; }
Ну и соответственно второй, который идет последним:
.topMenu:before { border-width:0 0 42px 30px; /* Толщина границы. Сверху 0, справа 20px, снизу 20px, слева 0. */ border-style:solid; /* Тип обводки */ border-color:#fff #008DFF; /* Цвет обводки. Сверху и снизу #fff, слева и справа #008DFF */ content:""; position:absolute; /* Абсолютное позиционирование */ top:0; /* Отступы сверху */ right:0; /* Справа 0 */ }
Вот и все. Наше первое фиксированное к верху меню готово. Со вторым вариантом, фиксированным к низу меню, все тоже самое, лишь изменены свойства у псевдоклассов :after и :before. Ну или сам, полный код второго варианта меню, фиксированного к низу:
.bottomMenu { background-color: #D8D8D8; /* Фон */ padding:10px; /* Внутренние оступы */ color:#676767; /* Цвет текста */ font-weight:bold; /* Толщина текста */ position:fixed; /* Фиксированное позиционирование */ bottom:0; /* Снизу 0, прижимаем к низу экрана */ left:50px; right:50px; /* Слева и справа по 50px отступов */ text-align:center; /* Расположение текста по центру */ /* Прозрачность старт */ -moz-opacity: 0.50; opacity: 0.50; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=50); /* Прозрачность конец */ /* transition старт */ -webkit-transition:All 1s ease; -moz-transition:All 1s ease; -o-transition:All 1s ease; /* transition конец */ } .bottomMenu:hover { -moz-opacity: 1; opacity: 1; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=100); } .bottomMenu a{ padding:10px; /* Внутренние оступы */ color:#676767; /* Цвет ссылки */ text-decoration:none; /* Отсутствие нижней линии */ } .bottomMenu a:hover{ background-color:#C7C7C7; /* Фон */ } .bottomMenu:before { border-width:0 30px 42px 0; /* Толщина границы. Сверху 0, справа 20px, снизу 20px, слева 0. */ border-style:solid; /* Тип обводки */ border-color:#D8D8D8 #fff; /* Цвет обводки. Сверху и снизу #D8D8D8, слева и справа #fff */ content:""; position:absolute; /* Абсолютное позиционирование */ top:0; /* Отступы сверху */ right:0; /* Отступы справа */ } .bottomMenu:after { border-width:42px 30px 0 0; /* Толщина границы. Сверху 0, справа 20px, снизу 20px, слева 0. */ border-style:solid; /* Тип обводки */ border-color:#fff #D8D8D8; /* Цвет обводки. Сверху и снизу #fff, слева и справа #D8D8D8 */ content:""; position:absolute; /* Абсолютное позиционирование */ top:0; /* Отступы сверху */ left:0; /* Отступы слева */ }