Как я могу изменить положение элемента с левого на правое на меньшем экране?

Это для более широких экранов:

.nav {
    position:absolute;
    top: 0px;
    left: 5%;
}

И я хотел бы расположить его правильно: 10 пикселей для меньшего экрана.

Спасибо.

================================================== =========

Я сделал ссылку jsfiddle: http://jsfiddle.net/romullus/5u64M/

================================================== =========

1
romullus 20 Мар 2014 в 21:29

3 ответа

Лучший ответ

Вы можете установить точки останова таким образом (при условии, что 600 пикселей - это точка останова между маленьким экраном и большим экраном)

@media screen and (min-width: 601px) {
   .nav {
    position:absolute;
    top: 0px;
    left: 5%;
 }
}



@media screen and (max-width: 600px) {
   .nav {
    position:absolute;
    right:10px;

 }
}

Вот jsfiddle

обновление 1

Что касается обновленной скрипки, представленной в вопросе, более новый рабочий код по вышеуказанной логике будет

    @media screen and (max-width: 600px) {
        .social-nav {
            position:absolute;
            right: 10px;
        }
        .social-nav ul {
            margin: 0;
            padding:0;
        }
        .social-nav ul li {
            list-style: none;
            display:block;
            background: #393939;
            padding:10px 10px 5px 10px;
            margin: 1px;
            opacity: .5;
            transition: all 0.6s ease-in-out;
        }
        .social-nav ul li:hover {
            opacity: .8;
            background:#fff;
        }
    }
    @media screen and (min-width: 600px) {
        .social-nav {
            background:#000;
            width:100%;
            position:absolute;
            top: 0px;
            left: 5%;
        }
        .social-nav ul {
            margin: 0;
            padding:0;
        }
        .social-nav ul li {
            list-style: none;
            display:table-cell;
            float: left;
            background: #393939;
            padding:100px 10px 5px 10px;
            margin: 1px;
            opacity: .5;
            transition: all 0.6s ease-in-out;
        }
        .social-nav ul li:hover {
            opacity: .8;
            background:#fff;
        }
        .social-nav ul li a {
            color:#fff;
        }
    }
}

Обновленная скрипка

0
Shiva 21 Мар 2014 в 10:05
Спасибо за твой ответ! я сделал это, но это все еще на левой стороне... я действительно не знаю, в чем проблема...
 – 
romullus
20 Мар 2014 в 22:19
@romullus: Привет, ты просто пропустил закрывающие фигурные скобки в нужном месте. Я обновил свой ответ и создал новую скрипку. Просто проверьте.
 – 
Shiva
21 Мар 2014 в 10:07

Есть ли у вас в заголовке метатег области просмотра? Без него ваши медиа-запросы не будут работать должным образом.

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
0
Longblog 21 Мар 2014 в 00:33

Вам нужно будет установить медиа-запрос для размера , как вы хотите, чтобы браузер сдвигал элемент слева направо с разным разрешением.

   @media (min-width: 780px) and (max-width: 980px) {
   // CSS definition for element(s) at this resolution 

}

Конечно, вы измените минимальный и максимальный размер до желаемого размера или вы можете просто установить минимальную ширину.

0
Shiva 26 Мар 2014 в 10:08
Да... я уже сделал это. но в этом медиа-запросе, который я установил для меньшего экрана, мой элемент по-прежнему находится в левой позиции, хотя я ставил вправо: 10px; Есть идеи?
 – 
romullus
20 Мар 2014 в 21:38