У меня есть веб-сайт, на котором 2 страницы содержимого переполняются небольшими экранами, что означает, что вам нужно прокручивать по горизонтали, чтобы просмотреть весь контент. Из-за этого меню и изображение логотипа в верхней части экрана обрезаются на этих двух страницах. И меню, и логотип загружаются с мастер-страницы. Я попытался исправить эту проблему, используя медиа-запросы и назначив определенную ширину, которая решила проблему для этих двух страниц, но все страницы стали прокручиваться на маленьком экране, поскольку это исправление повлияло на главную страницу. Я думал, что это очень простая проблема, но, к удивлению, не смог найти для нее никакого решения. Мне было интересно, есть ли у кого-нибудь идеи, как это решить.
Обновлено: опубликованный код с моей главной страницы и файла стиля.
body {
font-family: Arial, Helvetica, sans-serif;
background: #ffffff;
max-width: none;
overflow: scroll;
}
table {
border-spacing: 0px
}
td {
padding: 2px;
margin: 0px;
border-spacing: 0px
}
/*-----------------------------------------------------------------Header Logo------------------------------------------------------------------------------------------------*/
.responsive {
width: 100%;
height: auto;
}
/*------------------------------------------------------------------------ Menu -----------------------------------------------------------------------------------------*/
.navbar {
width: 100%;
overflow: hidden;
background-color: #333;
font-family: Arial, Helvetica, sans-serif;
margin-top: 0px;
padding-top: 0px;
}
.navbar a {
float: left;
font-size: 16px;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.dropdown {
float: left;
}
.dropdown .dropbtn {
font-size: 16px;
border: none;
outline: none;
color: white;
padding: 14px 16px;
background-color: inherit;
font-family: inherit;
margin: 0;
}
.navbar a:hover, .dropdown:hover .dropbtn {
background-color: red;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
float: none;
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #ddd;
}
.dropdown:hover .dropdown-content {
display: block;
}
/*-----------------------------------------------------------------Formatting------------------------------------------------------------------------------------------------*/
.
.under2 {
text-decoration: underline;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #3A4A37;
}
.box_app {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #3A4A37;
border: 1px solid #C4D0C1;
}
.validator {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #F00000;
}
.validator_mini {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #F00000;
}
.validator_mini2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000080;
}
.subtitles {
font-weight: bold;
background-color: #093145;
border-bottom-style: solid;
border-bottom-color: #3A4A37;
border-bottom-width: 1px;
text-align: left;
color: white;
}
.textbox_padded {
border: 1px solid #C4D0C1;
padding: 4px;
color: #3A4A37;
font-family: arial, Helvetica, sans-serif;
}
.title_times_new {
font-family: "Times New Roman", Times, serif;
font-size: 32px;
color: #4D6145;
font-weight: bold;
font-style: italic;
text-align: center;
}
.title_times_new2 {
font-family: "Times New Roman", Times, serif;
font-size: 16px;
color: #4D6145;
font-weight: bold;
font-style: italic;
}
.contract_list {
margin-left: auto;
margin-right: auto;
}
/*-------------------------------------------------------------------New Contract Form----------------------------------------------------------------------*/
#contract table {
width: 600px;
}
html, body {
margin: 0;
padding: 0;
}
.img-responsive {
display: inline-block;
max-width: 100%;
height: auto;
}
.drop {
left: 0px;
margin-right: 90px;
}
.flow {
width: 1200px
}
/*-------------------------------------------------------------------Media queries----------------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {
.navbar {
width: 1670px;
margin-top: 0px;
}
.responsive {
width: 1670px;
}
.contract_list {
margin-right: 0px;
margin-left: 1%;
}
}<html>
<head runat = "server">
<title></title>
<link href = "~/secure/styles.css" type = "text/css" rel = "stylesheet" runat = "server" />
<link rel = "stylesheet" href = "~/secure/font-awesome.min.css" runat = "server" />
<link rel = "shortcut icon" type = "image/ico" href = "images/faviocon/favicon.ico" runat = "server" />
<asp:ContentPlaceHolder ID = "head" runat = "server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id = "form1" runat = "server">
<img src = "images/logo2.png" alt = "Logo" runat = "server" class = "responsive" />
<div class = "navbar" runat = "server" style = "margin-top: 0px; padding-top: 0px;">
<div class = "dropdown">
<button class = "dropbtn" causesvalidation = "false">
Clinical Arrangements
</button>
<div class = "dropdown-content">
<a href = "/secure/student_ca_arrangement.aspx">Add New Student</a>
</div>
</div>
<div class = "dropdown">
<button class = "dropbtn" causesvalidation = "false">
Contracts
</button>
<div class = "dropdown-content">
<a href = "/secure/ca_contracts/new_contract.aspx">New Contract</a>
<a href = "/secure/ca_contracts/contract_list.aspx">Contract List</a>
</div>
</div>
<div class = "dropdown">
<button class = "dropbtn" causesvalidation = "false">
Letters
</button>
<div class = "dropdown-content">
<a href = "/secure/letters/begin_letter_list.aspx">Beginning of Term Letter</a>
<a href = "/secure/letters/end_letters_list.aspx">End of Term Letter</a>
</div>
</div>
<a id = "logout" causesvalidation = "false" runat = "server" onserverclick = "logout_Click">Sign Out</a>
</div>
<br />
<asp:ContentPlaceHolder ID = "ContentPlaceHolder1" runat = "server">
</asp:ContentPlaceHolder>
</form>
<script type = "text/javascript" src = "https://cdn.ywxi.net/js/1.js" async></script>
</body>
</html>@IrishChieftain готово, спасибо за совет.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете отключить горизонтальную прокрутку с помощью
overflow-x:hidden;
в вашем CSS
Мне действительно нужна горизонтальная полоса прокрутки. На этих двух страницах есть таблицы, в которых отображается много столбцов и данных, что вызывает переполнение. Тем не менее, спасибо за совет.
На самом деле я думаю, что просто отключу прокрутку на всех страницах, которые в ней не нуждаются. Это не самое оптимальное решение, так как мне придется добавлять его на каждую новую страницу по мере роста веб-сайта, но пока оно будет работать. Спасибо.
Да, это не самый оптимальный вариант, вы можете попытаться установить процентные значения / значения области просмотра для вашей ширины, а не фиксированные значения пикселей, также проверьте родительские элементы вашего веб-сайта в инструментах chrome dev и посмотрите, нужно ли вам устанавливать процентные значения на родительские элементы также
Похоже, вы вручную создаете свои собственные адаптивные медиа-запросы? Я бы предложил использовать Bootstrap v3 - вы можете использовать диспетчер пакетов, чтобы все это настроить.
В вашем медиа-запросе вы устанавливаете фиксированную ширину с использованием пикселей до 1670 пикселей. В RWD фиксированные единицы ширины никогда не используются; это всегда делается в процентах. Вы можете избежать этих проблем, используя Bootstrap, поскольку вся тяжелая работа уже сделана за вас.
В случае вашей конкретной проблемы у вас должны быть разные экраны мультимедиа для разных разрешений экрана:
https://getbootstrap.com/docs/3.3/css/#grid-media-queries
Я не думал, что Bootstrap понадобится, потому что этот сайт не нужно оптимизировать для мобильных устройств. Я использовал фиксированную ширину, чтобы выровнять ее с таблицей, которая переполняется на этих страницах, поскольку ширина таблицы никогда не меняется независимо от разрешения экрана. Регулируют ли медиа-запросы страницу в зависимости от того, переполняется она или нет?
Я использую Bootstrap на веб-сайтах, которые никогда не используются на мобильных устройствах. Это значительно упрощает управление в любом случае, поскольку вы, вероятно, будете получать к нему доступ с экранов разных размеров.
Нет. Медиа-запросы и браузер определяют макет в зависимости от размера области просмотра. Мне кажется, ваше лекарство хуже болезни. Я бы вернулся к царапинам и установил контейнер вокруг всего ;-)
Вы не получите очень полезных ответов без CSS или разметки в вашем вопросе.