Некоторые из моих CSS не работают при переключении в мобильное представление - PullRequest
0 голосов
/ 17 октября 2019

Интересно, почему какая-то часть моих CSS-кодов не работает в мобильном представлении. Смотрите прикрепленное изображение. Я хочу, чтобы эти ссылки (тест скорости) были справа, с небольшим пробелом между левым текстом.

снимок экрана

На рабочем столе все нормально (места достаточно) но при переходе на мобильный просмотр все ссылки остаются на левом тексте.

Вот мой HTML код:

<section class="server-section">
<div id="left-server">
<ul>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Las Vegas, NV</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Philadelphia, PA</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Los Angeles, CA</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Ashburn, VA</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Garden City, NY</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Chicago, IL</span><a href="#">Speed Test</a></li>
</ul>
</div>
<div id="center-server">
<ul>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Dallas, TX</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Denver, CO</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Bend, OR</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Phoenix, AZ</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Seattle, WA</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Boston, MA</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/us.png" alt="USA Flag" /> <span>Miami, FL</span><a href="#">Speed Test</a></li>
</ul>
</div>
<div id="right-server">
<ul>
<li><img src="images/icons/flags/ca.png" alt="Canada Flag" /> <span>Canada</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/se.png" alt="USA Flag" /> <span>Sweden</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/de.png" alt="USA Flag" /> <span>Germany</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/nl.png" alt="USA Flag" /> <span>Netherlands</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/ch.png" alt="USA Flag" /> <span>Switzerland</span><a href="#">Speed Test</a></li>
<li><img src="images/icons/flags/uk.png" alt="USA Flag" /> <span>England</span><a href="#">Speed Test</a></li>

</ul>
</div>
</section>

И CSS код:

@media (min-width:961px) {
.server-section{
padding:50px 0px 300px;
height: 650px;
background-color:#f8fefa;
width:100%;
background-image:url("../images/resource/server-location.jpg");
}

.server-section ul {
list-style-type: none;
}

.server-section li {
border-bottom: 1px solid #d4d1cb;
}

.server-section li span {
display: inline-block;
padding: 15px;
color: #fff;
}

.server-section li a {
float: right;
position: relative;
top: 20px;
color: #00fc97;
padding-left: 20px;
}

.server-section li a:hover {
color: #fff;
}

.server-section li img {
margin-right: 20px;
}

.server-section #left-server {
float:left;
margin-left:35px; 
width: 30%;
}

.server-section #center-server {
float:left; 
width: 25%;
margin-left:50px;
}

.clear{
clear:both;
}

.server-section #right-server {
float:left;
margin-left:45px; 
width: 28%;
}
}

Ответы [ 4 ]

1 голос
/ 17 октября 2019

У вас есть @media (min-width: 961px) обтекание всех вашего CSS, которое говорит веб-браузеру использовать этот CSS только тогда, когда ширина окна составляет не менее 960 пикселей. Поэтому, когда вы переключаетесь на меньшее окно (не мобильное), эти стили исчезают.

Если вы удалите это, ваше форматирование вернется, даже в узком окне.

Вот пример, используя слегка модифицированную версию вашего кода. Если вы просматриваете его в полноэкранном режиме и ширина окна составляет менее 400 пикселей, зеленый фон станет оранжевым.

.server-section {
  background-color: #ff9966; /* light orange */
  height: 650px;
  width: 100%;
}

@media (min-width: 400px) {
  .server-section {
    background-color: #f8fefa; /* light green */
  }
}

/* After here, everything is from your code. */

.server-section ul {
  list-style-type: none;
}

.server-section li {
  border-bottom: 1px solid #d4d1cb;
}

.server-section li span {
  display: inline-block;
  padding: 15px;
  color: #000;
}

.server-section li a {
  float: right;
  position: relative;
  top: 20px;
  color: #00fc97;
  padding-left: 20px;
}

.server-section li a:hover {
  color: #000;
}
<section class="server-section">
  <div id="left-server">
    <ul>
      <li><span>Las Vegas, NV</span><a href="#">Speed Test</a></li>
      <li><span>Philadelphia, PA</span><a href="#">Speed Test</a></li>
      <li><span>Los Angeles, CA</span><a href="#">Speed Test</a></li>
    </ul>
  </div>
  <div id="center-server">
    <ul>
      <li><span>Dallas, TX</span><a href="#">Speed Test</a></li>
      <li><span>Denver, CO</span><a href="#">Speed Test</a></li>
      <li><span>Bend, OR</span><a href="#">Speed Test</a></li>
    </ul>
  </div>
  <div id="right-server">
    <ul>
      <li><span>Canada</span><a href="#">Speed Test</a></li>
      <li><span>Sweden</span><a href="#">Speed Test</a></li>
      <li><span>Germany</span><a href="#">Speed Test</a></li>
    </ul>
  </div>
</section>

В целом, я не могу говорить за большинство людей, но я бы предпочел, чтобы min-width: 960px использовался в качестве отсечки длямобильные веб-сайты (потому что это ровно половина ширины моего монитора, и мне нравится открывать два окна одновременно).

0 голосов
/ 17 октября 2019

Медиа-запрос у вас меньше экранов, чем 961px, я думаю, что лучше создать запрос для mobil

@media (max-width: 599px) {
   .server-section a{
      margin-left: 15px;
   }
}
0 голосов
/ 17 октября 2019

Попробуйте добавить ниже, вне вашего запроса @media. Ваш медиа-запрос запрещает использование любых стилей для экранов размером менее 961 пикселей. Вам нужно будет указать стили для небольших экранов.

.server-section li span {
  margin-right: 10px;
}
0 голосов
/ 17 октября 2019

Попробуйте отступ

a{
text-indent:  5;
}


...