Я спрашиваю, может ли кто-нибудь помочь мне изменить этот CSS-код средней длины, чтобы иметь медиа-запрос минимальной ширины вместо максимальной ширины, когда я пытаюсь изменить его, я запутался на протяжении всего процесса, поскольку он не мой, я только что отредактировал его . Также я прикрепил HTML-код, соответствующий CSS.
Заранее спасибо!
#logo {
color: #E4E4EC;
font-size: 50px;
line-height: 100px;
margin-left: 54px;
font-weight: 700;
}
nav ul {
float: right;
margin-right: 20px;
margin-top: 20px;
}
nav ul li {
display: inline-block;
line-height: 60px;
margin: 0 5px;
}
nav ul li a {
color: #E4E4EC;
background-color: #4A2285;
border-radius: 13px;
font-size: 17px;
margin-right: 34px;
margin-left: 10px;
padding: 3px 25px;
text-transform: uppercase;
}
a.active,
a.hover_a:hover {
background: #E4E4EC;
border-radius: 13px;
color: #4a2285;
transition: .5s;
}
.checkbtn {
color: #E4E4EC;
float: right;
margin-top: 20px;
margin-right: 20px;
cursor: pointer;
display: none;
}
.hamburger {
width: 38px;
height: 28px;
}
#check {
display: none;
}
@media (max-width: 1100px) {
#logo {
font-size: 30px;
line-height: 100px;
margin-left: 20px;
font-weight: 700;
}
nav ul li a {
font-size: 16px;
margin-right: 0px;
}
}
@media (max-width: 858px) {
#logo {
font-size: 20px;
line-height: 70px;
margin-left: 20px;
font-weight: 700;
}
.checkbtn {
display: block;
}
ul {
position: fixed;
background: #201449;
background-image: url(../images/menu.jpg);
background-position: top left;
background-size: cover;
opacity: 1;
width: 76vw;
height: 100%;
top: -20px;
left: -100%;
text-align: left;
transition: all .5s;
border-radius: 0px 20px 20px 0px;
z-index: 999;
}
nav ul li {
display: block;
margin-top: 45vw;
margin-bottom: -45vw;
text-align: left;
text-transform: lowercase;
font-weight: 700;
}
nav ul li a {
font-size: 9.5vw;
border-radius: 0px;
background: none;
color: #e4e4ec;
float: none;
margin: 0;
}
a.hover_a:hover,
a.active {
border-radius: 0;
background: none;
color: #381f84;
transition: .5s;
}
#check:checked ~ ul {
left: 0;
}
}
<nav>
<input type = "checkbox" id = "check">
<label for = "check" class = "checkbtn"><img src = "images/menu.png" class = "hamburger" alt = "hamburger">
</label>
<a href = "index.html" id = "logo">
LOGO
</a>
<ul>
<li><a class = "active buttons hover_a" href = ""><b>HOME</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>GALLERY</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>INFORMATION</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>CONTACT</b></a></li>
</ul>
</nav>
Брат @sergeykuznetsov, я думаю, он хочет использовать подход, ориентированный на мобильные устройства, а не на настольные компьютеры. Вся его логика будет как бы наоборот. :) Может быть, он имеет это в виду. Бог знает ;). В любом случае, ты хороший человек, братан. Вы работаете или фрилансер Сергей?
@ImranRafiqВернее, да, брат, я тоже так сначала подумал, но подумал, что уточню у автора вопроса :) Работаю в it-компании, full stack. А ты?
@sergeykuznetsov Привет, я хотел бы сначала сделать его мобильным.
@Windripper, я тебя понял. Сейчас я дам решение.
Я не мог изменить второй медиа-запрос (так как он должен был быть максимальным и не мог быть минимальным). Однако, если вам интересно, как будет выглядеть ваш код с минимальным первым параметром мультимедиа (и не возражаете против увеличения экрана), то это должно сделать это:
#logo {
color: #E4E4EC;
font-size: 50px;
line-height: 100px;
margin-left: 54px;
font-weight: 700;
}
nav ul {
float: right;
margin-right: 20px;
margin-top: 20px;
}
nav ul li {
display: inline-block;
line-height: 60px;
margin: 0 5px;
}
nav ul li a {
color: #E4E4EC;
background-color: #4A2285;
border-radius: 13px;
font-size: 17px;
margin-right: 34px;
margin-left: 10px;
padding: 3px 25px;
text-transform: uppercase;
}
a.active,
a.hover_a:hover {
background: #E4E4EC;
border-radius: 13px;
color: #4a2285;
transition: .5s;
}
.checkbtn {
color: #E4E4EC;
float: right;
margin-top: 20px;
margin-right: 20px;
cursor: pointer;
display: none;
}
.hamburger {
width: 38px;
height: 28px;
}
#check {
display: none;
}
@media (max-width: 1100px) {
#logo {
// Configure your maximum media query here
}
@media (min-width: 859px) {
#logo {
font-size: 30px;
line-height: 100px;
margin-left: 20px;
font-weight: 700;
// Media query that changed
}
nav ul li a {
font-size: 16px;
margin-right: 0px;
}
}
@media (max-width: 858px) {
#logo {
font-size: 20px;
line-height: 70px;
margin-left: 20px;
font-weight: 700;
}
.checkbtn {
display: block;
}
ul {
position: fixed;
background: #201449;
background-image: url(../images/menu.jpg);
background-position: top left;
background-size: cover;
opacity: 1;
width: 76vw;
height: 100%;
top: -20px;
left: -100%;
text-align: left;
transition: all .5s;
border-radius: 0px 20px 20px 0px;
z-index: 999;
}
nav ul li {
display: block;
margin-top: 45vw;
margin-bottom: -45vw;
text-align: left;
text-transform: lowercase;
font-weight: 700;
}
nav ul li a {
font-size: 9.5vw;
border-radius: 0px;
background: none;
color: #e4e4ec;
float: none;
margin: 0;
}
a.hover_a:hover,
a.active {
border-radius: 0;
background: none;
color: #381f84;
transition: .5s;
}
#check:checked ~ ul {
left: 0;
}
}
Ну, не совсем то, что я хотел, но все равно спасибо за усилия. :)
Честно говоря, я не знаю, как именно вы этого хотели, но я сделал это самостоятельно. Если будут дополнительные пожелания, то сообщите мне о них, и я исправлю или доработаю. Самое главное, ваше решение основано на правилах float
.
Никогда не используйте эти float
правила!
#logo {
font-size: 30px;
line-height: 100px;
margin-left: 20px;
font-weight: 700;
}
nav ul {
/*float: right;*/
margin-right: 20px;
margin-top: 20px;
}
nav ul li {
display: inline-block;
line-height: 60px;
margin: 0 5px;
}
nav ul li a {
color: #E4E4EC;
background-color: #4A2285;
border-radius: 13px;
font-size: 17px;
margin-right: 34px;
margin-left: 10px;
padding: 3px 25px;
text-transform: uppercase;
}
a.active,
a.hover_a:hover {
background: #E4E4EC;
border-radius: 13px;
color: #4a2285;
transition: .5s;
}
.checkbtn {
color: #E4E4EC;
float: right;
margin-top: 20px;
margin-right: 20px;
cursor: pointer;
display: none;
}
.hamburger {
width: 38px;
height: 28px;
}
#check {
display: none;
}
@media (min-width: 1100px) {
#logo {
color: #E4E4EC;
font-size: 50px;
line-height: 100px;
margin-left: 54px;
font-weight: 700;
}
nav ul li a {
font-size: 16px;
margin-right: 0px;
}
}
@media (min-width: 858px) {
/*#logo {
font-size: 20px;
line-height: 70px;
margin-left: 20px;
font-weight: 700;
}*/
.checkbtn {
display: block;
}
ul {
position: absolute;
background: #201449;
background-image: url(../images/menu.jpg);
background-position: top left;
background-size: cover;
opacity: 1;
/*width: 76vw;*/
height: 100vh;
top: -20px;
left: -100%;
text-align: left;
transition: all .5s;
border-radius: 0px 20px 20px 0px;
z-index: 999;
}
nav ul li {
display: block;
/*margin-top: 45vw;
margin-bottom: -45vw;*/
text-align: left;
text-transform: lowercase;
font-weight: 700;
}
nav ul li a {
/*font-size: 9.5vw;*/
border-radius: 0px;
background: none;
color: #e4e4ec;
/*float: none;*/
margin: 0;
}
a.hover_a:hover,
a.active {
border-radius: 0;
background: none;
color: #381f84;
transition: .5s;
}
#check:checked ~ ul {
left: 0;
}
}
<nav>
<input type = "checkbox" id = "check">
<label for = "check" class = "checkbtn"><img src = "images/menu.png" class = "hamburger" alt = "hamburger">
</label>
<a href = "index.html" id = "logo">
LOGO
</a>
<ul>
<li><a class = "active buttons hover_a" href = ""><b>HOME</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>GALLERY</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>INFORMATION</b></a></li>
<li><a href = "" class = "buttons hover_a"><b>CONTACT</b></a></li>
</ul>
</nav>
@Windripper, это то, что тебе нужно? Если есть вопросы, могу улучшить код.
Большое спасибо! Да, это то, что мне было нужно, я уже отредактировал и сделал так, как хотел с самого начала. Действительно цените усилия! Я комментировал здесь вчера, но комментарий почему-то не запостил :(.
@Windripper, вы можете продублировать комментарий, если он все еще актуален :)
Привет. Непонятно чего вы хотите :) Какой результат вы хотите?