Совместите div с фиксированным положением на правой стороне

Я хочу показать div который всегда виден, даже когда пользователь прокручивает страницу. Я использовал CSS position: fixed; для этого.

Теперь я также хочу показать div в правом углу родителя div,

Я попытался использовать этот код CSS для достижения цели:

.test {
  position: fixed;
  text-align: right;
}

Но это не выравнивает элемент на правой стороне.

Мой пример страницы можно найти здесь, div элемент, который я хочу выровнять, называется test под родительским классом parent,

Есть ли какое-либо решение CSS или JavaScript для выравнивания элемента с фиксированной позицией в правой части экрана?

10 ответов

Решение

С фиксированной позицией вам нужно указать значения, чтобы установить, где будет размещаться div, поскольку это фиксированная позиция.

Что-то вроде....

.test
{
   position:fixed;
   left:100px;
   top:150px;
}

Исправлено - Генерирует абсолютно позиционированный элемент, расположенный относительно окна браузера. Положение элемента задается свойствами "left", "top", "right" и "bottom"

Подробнее о положении здесь.

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

<div style='float:right; width: 180px;'>
 <div style='position: fixed'>
   <!-- Your content -->
 </div>
</div>

Используйте атрибут 'right' вместе со стилем фиксированной позиции. Предоставленное значение действует как смещение справа от границы окна.

Пример кода:

.test {
  position: fixed;
  right: 0;
}

Если вам нужно немного отступов, вы можете установить right свойство с определенным значением, например: right: 10px,

Замечания: float свойство не работает на должность fixed а также absolute

Пытаюсь сделать то же самое. Если вы хотите, чтобы он был выровнен по правой стороне, установите значение right в 0, В случае, если вам нужно добавить отступ справа, установите значение для нужного вам размера.

Пример:

.test {
  position: fixed;
  right: 20px; /* Padding from the right side */
}

Сделайте родительский div, в css сделайте его плавающим: прямо тогда исправьте положение дочернего div, это позволит div оставаться на своей позиции всегда и справа

Я использую это, чтобы поместить div (с его содержимым внутри) в правом нижнем углу страницы с некоторым полем:

      .my-div-container{
    position: fixed;
    bottom: 1rem;
    left: 90%;
}

Вот реальное решение (с другими классными CSS3):

#fixed-square {
position: fixed;
top: 0;
right: 0;
z-index: 9500;
cursor: pointer;
width: 24px;
padding: 18px 18px 14px;
opacity: 0.618;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
transform: rotate(-90deg);
-webkit-transition: all 0.145s ease-out;
-moz-transition: all 0.145s ease-out;
-ms-transition: all 0.145s ease-out;
transition: all 0.145s ease-out;
}

Обратите внимание на верх:0 и справа:0. Вот что сделал это для меня.

Лучшее решение, которое я нашел, — дать элементу левое поле. Элементы под ним в левом поле будут доступны для щелчка

Просто сделай это. Не влияет на горизонтальное положение.

.test {
 position: fixed;
 left: 0;
 right: 0;
 }

Вы можете просто сделать это:

.test {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  right: 0;
}
Другие вопросы по тегам