Показать сообщение отдельно
  #7 (permalink)  
Старый 15.04.2020, 02:33
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Espey
А через CSS не как не сделать?
Конечно можно сделать полностью на CSS...

<input type="checkbox" id="menu-toggler">

<label for="menu-toggler">
	<span class="open">Раскрыть меню</span>
	<span class="close">Свернуть меню</span>
</label>

<ul class="menu">
	<li><a href="/">Главная</a></li>
	<li><a href="/random.html">Случайное</a></li>
	<li><a href="/mp3.html" rel="nofollow">Mp3</a></li>
	<li><a href="/txt.html" rel="nofollow">TXT</a></li>
	<li><a href="/commandments.html">Заповеди</a></li>
	<li><a href="http://jesus.cc.ua/" target="_blank" rel="noopener noreferrer">Чат</a></li>
	<li><a href="/reviews.html">Отзывы</a></li>
	<li><a href="/search.html">Поиск</a></li>
	<li><a href="http://www.home.cc.ua/">+</a></li>
</ul>

<style>
html { font: 13px / 1.5 Arial, sans-serif; }

#menu-toggler {
	position: absolute;
	clip: rect(0, 0, 0, 0);
}

[for="menu-toggler"] {
	display: block;
	margin-left: auto;
	width: max-content;
	background-color: #095197;
	background-image: linear-gradient(#0087d1,#095197);
	border-color: #00456b #095197 hsl(201,100%,16%);
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0,0,0,0.33);
	padding: 0.5em;
	border-radius: 0.25em;
}

ul.menu {
	background-color: #eee;
	background-image: linear-gradient(#eee,#ddd);
	border-color: #b2b2b2 #b2b2b2 hsl(114,0%,62.5%);
	text-shadow: 0 1px 1px rgba(255,255,255,0.49);
	color: #095197;
	border: solid 1px #D5D5D5;
	box-shadow: 0 1px 0 #FFF inset, 0 1px 5px rgba(0,0,0,0.1);
	text-transform: uppercase;
	list-style: none;
	padding: 0;
}

ul.menu li {
	margin: 0;
	padding: 0;
	display: inline-block;
}

ul.menu a {
	color: #333;
	font-weight: bold;
	text-decoration: none;
	margin: 0;
	display: block;
	padding: 12px 15px;
	position: relative;
}

@media (min-width: 800px) {
	[for="menu-toggler"] {
		display: none;
	}
	
	ul.menu a {
		border-right: 1px solid #ddd;
		box-shadow: 1px 0 0 #f5f5f5;
	}
}

@media (max-width: 800px) {
	ul.menu li {
		display: block;
		border-bottom: 1px solid #ddd;
		box-shadow: 0 1px 0 #f5f5f5;
		text-align: center;
	}
	
	#menu-toggler:not(:checked) ~ [for="menu-toggler"] .close,
	#menu-toggler:checked ~ [for="menu-toggler"] .open,
	#menu-toggler:not(:checked) ~ ul.menu {
		display: none;
	}
}

</style>

<!-- только для того, чтобы быстро проверить, как работает меню -->
<button style="margin-top: 5em;" onclick="var w=open('about:blank','','width=900,height=500');w.document.body.innerHTML=document.body.innerHTML.replace(/<button.*$/gim,'')">Нажми, чтобы проверить, как меню подстраивается под разные размеры окна</button>

Последний раз редактировалось Malleys, 15.04.2020 в 02:35.
Ответить с цитированием