Как центрировать элемент шире, чем его родительский элемент? - PullRequest
2 голосов
/ 07 апреля 2011

В настоящее время у меня есть div с фиксированной шириной 900px.
Я хотел бы добавить дочерний iframe с фиксированной шириной 950px, и я бы хотел, чтобы он был идеально выровнен по центру.
Как это можно сделать?

Спасибо.

Ответы [ 5 ]

5 голосов
/ 07 апреля 2011

Вы можете установить дочерний элемент на 50%, а затем использовать отрицательное поле, равное половине ширины дочернего элемента:

.parent { position: relative; overflow: hidden; }
.child { position: absolute; left: 50%; top: 0; margin-left: -475px; }

Таким образом, вам нужно знать только размер дочернего элемента.

3 голосов
/ 13 апреля 2012

Я нашел способ сделать это с динамической шириной здесь: http://www.greywyvern.com/?post=323

2 голосов
/ 21 января 2016

Другой способ будет использовать:

   .parent {
     position:relative;
   }
   .child {
     position:absolute;
     left:50%;
     transform:translateX(-50%);
   }

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

1 голос
/ 07 апреля 2011

Я предполагаю, что ширина вашего внешнего контейнера равна 950px, а ширина дочернего iframe равна 900px, тогда вы можете использовать margin: 0px auto;для вашего детского контейнера в css

1 голос
/ 07 апреля 2011
.container {
    width:900px
}

iframe {
    margin-left:-25px;
    width:950px;
}
...