Полное скрытие элемента, у которого было скрыто некоторое переполнение

По сути, у меня есть родительский div с высотой и шириной и overflow: hidden, а затем внутри него еще несколько div. Мы имеем дело с изменчивым содержимым, и некоторые элементы div выходят за углы, поэтому их нужно скрыть. Но один наполовину. Есть ли способ сделать это полностью скрытым?

Лучше всего будет CSS.


person Richard Housham    schedule 15.02.2011    source источник
comment
Можете ли вы опубликовать SS или какой-нибудь код, пожалуйста?   -  person Myles Gray    schedule 15.02.2011


Ответы (2)


Я не думаю, что вы можете узнать, находится ли ребенок от родителя overflow:hidden в скрытом или видимом разделе, не используя Javascript (здесь я могу ошибаться).

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

Это решение не будет работать, если вы заполните свои div содержимым разной длины.

person Gabriel S.    schedule 15.02.2011

Насколько я понимаю ваш пост, у вас есть обертывающий div с переполнением: скрытый, и вы хотите сделать любой дочерний элемент скрытым, если только он не может быть полностью отображен внутри обертывающего div.

Возможно, есть лучший способ сделать это, но я бы использовал медиа-запрос CSS. Если вы не знаете, как они работают, это хорошее место для начала: http://css-tricks.com/resolution-specific-stylesheets/

Используя этот метод, вы можете определить, сколько блоков каждого типа должно отображаться при любом заданном наборе разрешений. Мне было бы интересно посмотреть, как это происходит, или если вы в конечном итоге используете другой подход. Удачи!

person Todd    schedule 15.02.2011
comment
Звучит как хорошая идея, но поддерживается только в Firefox и Opera. IE не годится. Спасибо за пост, это, вероятно, самый близкий ответ, какой только может быть! - person Richard Housham; 16.02.2011
comment
Да, проблемное дитя интернета... Я думаю, что эта статья предлагает решение этой проблемы. Если я правильно помню, вы обычно настраиваете свои макеты, а затем, чтобы они работали для IE, вы добавляете довольно простой бит javascript, чтобы выполнить логику вокруг размера экрана и таблицы стилей для загрузки (для IE). - person Todd; 16.02.2011