#html #css
#HTML #css — код
Вопрос:
Я работаю над отзывчивостью моей веб-страницы, и у меня есть весь мой контент в .contentSection
div. У меня возникла проблема, когда размер экрана равен 414 пикселей (мобильный размер). Экран выглядит так:
Как вы можете видеть, есть много совпадений, что меня смущает, так это то, что у меня есть @media
запрос, который должен это исправить:
@media only screen and (max-width: 415px) {
.contentSection {
width: 400px;
}
}
Но в веб-инспекторе вы можете видеть, что правило не применяется:
Оно применяет правило, когда размер экрана 614xp:
@media only screen and (max-width: 614px) {
.contentSection {
width: 500px;
}
}
На вкладке источники в веб-инспекторе вы можете увидеть, что это правило существует:
Вот мой полный файл CSS:
/* -------- Side Menu Section -------- */
@media only screen and (max-width: 375px) {
.menuLogo {
width: 60%;
margin-block-start: 30px;
margin-block-end: 10px;
}
.sidebar {
width: 375px;
}
.sidebar ul a {
line-height: 65px;
font-size: 17px;
color: white;
padding-left: 30px;
}
}
@media only screen and (max-width: 320px) {
.menuLogo {
width: 55%;
margin-block-start: 30px;
margin-block-end: 10px;
}
.sidebar {
width: 320px;
}
.sidebar ul a {
line-height: 65px;
font-size: 17px;
color: white;
padding-left: 30px;
}
}
/* -------- Header Section -------- */
@media only screen and (max-width: 830px) {
.header {
background-image: linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.5)), url("blue-back.jpg");
background-size: cover;
background-position: center;
position: relative;
margin-block-end: 50px;
}
}
@media only screen and (max-width: 700px) {
.navBar {
width: 100%;
height: 100px;
display: flex;
align-items: center;
}
.logoContainer {
width: 30%;
float: left;
margin-inline-start: 5%;
margin-inline-end: 5%;
}
.menuContainer {
width: 60%;
float: left;
text-align: right;
margin-inline-end: 20px;
}
.menuBars {
font-size: 25px;
cursor: pointer;
}
.MobileMasteryTitle {
width: 380px;
}
}
@media only screen and (max-width: 550px) {
.header {
background-image: linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.5)), url("blue-back.jpg");
}
.navBar {
width: 100%;
height: 100px;
display: flex;
align-items: center;
}
.logoContainer {
width: 30%;
float: left;
margin-inline-start: 20px;
}
.menuContainer {
width: 60%;
float: left;
text-align: right;
margin-inline-end: 20px;
}
.menuBars {
font-size: 20px;
cursor: pointer;
}
.MobileMasteryTitle {
width: 350px;
}
}
@media only screen and (max-width: 375px) {
.MobileMasteryTitle {
width: 300px;
}
}
@media only screen and (max-width: 320px) {
.MobileMasteryTitle {
width: 270px;
}
}
/* -------- Content Section -------- */
@media only screen and (max-width: 1220px) {
.contentSection {
width: 1100px;
}
}
@media only screen and (max-width: 1113px) {
.contentSection {
width: 1000px;
}
}
@media only screen and (max-width: 1000px) {
.contentSection {
width: 870px;
}
}
@media only screen and (max-width: 880px) {
.contentSection {
width: 790px;
}
}
@media only screen and (max-width: 790px) {
.contentSection {
width: 600px;
}
}
@media only screen and (max-width: 614px) {
.contentSection {
width: 500px;
}
}
@media only screen and (max-width: 415px) {
.contentSection {
width: 400px;
}
}
@media only screen and (max-width: 320px) {
.contentSection {
width: 300px;
}
}
/* -------- Cart Items Section -------- */
@media only screen and (max-width: 1220px) {
.cartItemHolder {
height: 148.5px;
}
.cartItem {
height: 148.5px;
}
.cartProductImg {
height: 148.5px;
}
.cartProductInfo {
height: 148.5px;
}
}
@media only screen and (max-width: 1113px) {
.cartItemHolder {
height: 135px;
}
.cartItem {
height: 135px;
}
.cartProductImg {
height: 135px;
}
.cartProductInfo {
height: 135px;
}
}
@media only screen and (max-width: 1000px) {
.cartItemHolder {
height: 117.44px;
}
.cartItem {
height: 117.44px;
}
.cartProductImg {
height: 117.44px;
}
.cartProductInfo {
height: 117.44px;
}
.removeContainer {
width: 10%;
}
.quantityContainer {
width: 70%;
}
.quantity {
margin: auto;
}
}
@media only screen and (max-width: 880px) {
.cartItemHolder {
height: 106.64px;
}
.cartItem {
height: 106.64px;
}
.cartProductImg {
height: 106.64px;
}
.cartProductInfo {
height: 106.64px;
}
.productTitle {
margin-block-end: 1px;
font-size: 19px;
}
.productLogo {
width: 60%;
}
.removeContainer {
width: 10%;
}
.quantityContainer {
width: 70%;
}
.quantity {
width: 70%;
margin: auto;
}
}
@media only screen and (max-width: 790px) {
.contentSection {
width: 600px;
}
.cartItemHolder {
width: 100%;
float: left;
margin-block-end: 40px;
}
.cartItemHolder {
height: 162px;
}
.cartItem {
height: 162px;
}
.cartProductImg {
height: 162px;
}
.cartProductInfo {
height: 162px;
}
.productTitle {
margin-block-end: 10px;
font-size: 19px;
}
.productLogo {
width: 37%;
}
.removeContainer {
width: 10%;
}
.quantityContainer {
width: 70%;
}
.quantity {
width: 80%;
margin: auto;
}
}
@media only screen and (max-width: 614px) {
.contentSection {
width: 450px;
}
.cartItemHolder {
height: 121.5px;
}
.cartItem {
height: 121.5px;
}
.cartProductImg {
height: 121.5px;
}
.cartProductInfo {
height: 121.5px;
}
.productTitle {
margin-block-end: 10px;
font-size: 20px;
}
.productLogo {
width: 37%;
}
.removeContainer {
width: 10%;
}
.quantityContainer {
width: 70%;
}
.quantity {
width: 80%;
margin: auto;
}
.headingContainer h1 {
font-size: 23px;
}
.headingContainer h3 {
font-size: 16px;
}
}
@media only screen and (max-width: 400px) {
.contentSection {
width: 320px;
}
.cartItemHolder {
height: 86px;
}
.cartItem {
height: 86px;
}
.cartProductImg {
height: 86px;
}
.cartProductInfo {
height: 86px;
}
.productTitle {
margin-block-end: 4px;
font-size: 13px;
}
.productLogo {
width: 60%;
}
.removeContainer {
width: 10%;
}
.quantityContainer {
width: 70%;
}
.quantity {
width: 70%;
margin: auto;
}
.headingContainer h1 {
font-size: 20px;
}
.headingContainer h3 {
font-size: 10px;
}
.headingContainer {
width: 100%;
text-align: center;
margin-block-end: 30px;
}
}
Комментарии:
1. В качестве альтернативного предложения, почему бы вам не установить
max-width: 100%
or100vw
для вашего элемента? Тогда он никогда не должен быть больше, чем окно просмотра, и вам не нужно устанавливать размер для 100 точек останова по отдельности?2. @cloned Это хорошая идея! Спасибо!
Ответ №1:
Попробуйте приведенный ниже код, я предоставил конкретное разрешение, которое вы можете указать в соответствии с вашими требованиями.
@media (min-width:1366px) and (max-width:1920px){
//your css
}
@media (min-width:1024px) and (max-width:1365px){
//your css
}
@media (min-width:320px) and (max-width:1023px){
//your css
}
Ответ №2:
Я обнаружил проблему с этой ошибкой, я повторно @media
объявлял правило дальше в файле CSS, и когда это было удалено, оно сработало