Я пытаюсь разработать меню, как на одном шоу на рисунке ниже CSS меню верстка вопрос
Это отзывчивое меню и должно выглядеть так, как когда на небольших экранах.
Перед этим стоит вопрос. - Мне нужно добавить границу между двумя меню, как показано на рисунке ниже, и сохранить подменю около 40 пикселей вниз от базовой линии главного меню. Когда я добавляю нижний предел в ul li
, показывается подменю, но исчезает, когда я пытаюсь взять указатель над ним.
я хочу подменю, чтобы показать в центре родительского меню, даже если wifth из подменю больше ширины родительского меню, я попытался это, но не смог сделать его совершенным.
Отзывчивый версия
/*Menu*/
.nav-center
{
text-align:center;
}
.menu-link {
display: none;
float: right;
text-decoration: none;
padding: 19px 10px;
}
.menu {
max-width: 60em;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.menu ul {
padding: 0px;
margin: 0px;
list-style: none;
position: relative;
display: inline-table;
}
.menu > li > ul.sub-menu {
min-width: 10em;
padding: 4px 0;
background-color: #f4f4f4;
border: 1px solid #CCC;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.menu ul:after {
content: ""; clear: both; display: block;
}
.menu ul li {
padding: 0px;
border-right:1px solid #053A7D;
}
.menu > ul > li {
display: inline-block;
}
.menu ul li a {
display: block;
text-decoration: none;
color: #053A7D;
font-size: .9em;
}
.menu ul li > a {
padding: 5px 20px;
}
.menu ul ul {
display: none;
position: absolute;
top:100%;
min-width: 160px;
border-top: 2px solid #053A7D;
/*background-color: #f4f4f4;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
*/
}
.menu ul li:hover > ul {
display: block;
}
.menu ul ul > li {
position: relative;
}
.menu ul ul > li a {
padding: 5px 2px 5px 2px;
height: auto;
background-color: #fff;
-webkit-transition: background-color 0.2s ease-out;
-moz-transition: background-color 0.2s ease-out;
-ms-transition: background-color 0.2s ease-out;
-o-transition: background-color 0.2s ease-out;
transition: background-color 0.2s ease-out;
}
.menu ul ul > li a:hover {
/*background-color: #AE5C10;
background-color: rgba(174, 92,16, 0.9);
color: #fff;
*/
}
.menu ul ul ul {
position: absolute;
left: 100%;
top:0;
}
@media screen and (max-width: 768px) {
a.menu-link {
display: block;
color: #fff;
background-color: #AE5C10;
background-color: rgba(174, 92,16, 0.9);
}
.menu {
clear: both;
min-width: inherit;
float: none;
}
.menu, .menu > ul ul {
overflow: hidden;
max-height: 0;
background-color: #f1f1f1;
}
.menu > li > ul.sub-menu {
padding: 0px;
border: none;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.menu.active, .menu > ul ul.active {
max-height: 55em;
}
.menu ul {
display: inline;
}
.menu > ul {
border-top: 1px solid #808080;
}
.menu li, .menu > ul > li {
display: block;
}
.menu li a {
color: #000;
display: block;
padding: 0.8em;
border-bottom: 1px solid #808080;
position: relative;
}
.menu li.has-submenu > a:after {
content: '+';
position: absolute;
top: 0;
right: 0;
display: block;
font-size: 1.5em;
padding: 0.55em 0.5em;
}
.menu li.has-submenu > a.active:after {
content: "-";
}
.menu ul ul > li a {
background-color: #e4e4e4;
height:58px;
padding: 19px 18px 19px 30px;
}
.menu ul ul, .menu ul ul ul {
display: inherit;
position: relative;
left: auto; top:auto;
box-shadow: none;
border:none;
}
}
/*Menu End*/
Я настроил скрипку пример, я был бы признателен за помощь в этом отношении.
UPDATE: Для того, чтобы избежать путаницы, я отправляю другого изображения, которые показывают руководство красным цветом на позиции подменю
Скрипка выглядит совсем по-иному – Marcel
@Marcel, одно изображение в изображении выполнено в графических программах, а последнее изображение с красными линиями - только для руководства, так как некоторые пользователи путают о выравнивании по центру подменю. – Learning
Почему ваш HTML имеет все классы, если вы не используете их в CSS? – RevanProdigalKnight