2013-04-10 3 views
3
<div id="narrow"> 
    <div id="wide"> 
    </div> 
</div> 

У меня есть один div и еще один внутри него, который шире родительского.Центр более широкий div в более узком

#narrow div имеет сменную ширину, а div #wide имеет фиксированную ширину.

Как центрировать #wide DIV внутри #narrow DIV так, что как левая и правая сторона #wide DIV обрезаются, когда #narrow дается overflow:hidden?

+0

'Как центрировать #wide div внутри #narrow div так, чтобы левая и правая сторона #wide div были обрезаны? '-' Во-вторых, как предотвратить выпадение потомка из окна предка 'Я думаю, он действительно хочет, чтобы ребенок переполнился за пределами родителя. – Ejaz

+0

@ PointedEars здесь есть один вопрос: как сделать '' узкий разделитель разделителя ** обе ** стороны разделителя '# wide'. Это не основной вопрос. «переполнение: скрытое» будет только обрезать одну сторону. –

+0

@ Ejay Нет, снова прочитал. «... так что левая и правая сторона #wide div обрезаны». – PointedEars

ответ

0

Легко с помощью CSS:

#narrow {overflow: hidden;}

+0

Это не центр. – rickyduck

+0

Да, это не работает так, как мне нужно. – Banana

+0

Нет, это не центрируется, он обрезает '# wide' div. – Roy

0

Попробуйте это:

#wide{margin:0px auto; position: relative;} 

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

+0

он хочет центрировать широкий ребенок, даже если родитель уже, чем он. – Ejaz

1

Вы можете центрировать широкий div, используя position: absolute, а затем используя отрицательный margin-left, чтобы разместить его по центру. Обратите внимание, что это работает только тогда, когда элемент имеет фиксированную ширину.

JS-Fiddle

#narrow { 
    position: relative; 
    width: 200px; //may be variable 
} 

#wide { 
    position: absolute; 
    top: 0; 
    left: 50%; 
    margin-left: -150px; // half the width 
    width: 300px; // must be fixed 
} 

Чтобы скрыть часть, которая течет через узкий DIV, вы можете использовать overflow: hidden.

+0

Переключатель '# narrow' имеет ширину жидкости. –

+0

Ты гений! Это прекрасно работает!Спасибо, спасибо, спасибо, я пытался понять это на весь день! – Banana

+0

Это обычная проблема, с которой я столкнулся уже несколько раз :) @JamesDonnelly: Мой пример работает для переменной ширины. – nirazul

Смежные вопросы