У меня есть <div>
, это некие height
и width
и overflow:hidden
, так что ограниченные внутренние изображения обрезаются; однако я хочу, чтобы одно изображение в <div>
выходило из границы (т.е. чтобы переопределить overflow:hidden
), как мне это сделать?Разрешить конкретный тег для переопределения переполнения: скрытый
ответ
Вы не можете, если вы не измените свой макет HTML и не переместите это изображение из родительского div. Немного больше контекста поможет вам найти приемлемое решение.
overflow относится к контейнеру, не позволяя отображать негабаритный контент (если он установлен скрытым). Это не имеет ничего общего с внутренними элементами, которые могут иметь переполнение: что угодно, и все еще не будет отображаться.
Z-индекс не кажется, работает, но вот у меня есть обходной путь, который работал хорошо для меня, так как мне нужно было переполнение только быть «видимым» при наведении курсора на дочерний элемент:
#parent {
overflow: hidden;
}
#parent:hover {
overflow: visible;
}
Это не отвечает на вопрос ... вообще. –
Я знаю, что это это старый пост, но это можно сделать (по крайней мере, в Chrome). Я понял это примерно два года назад, и это спасло меня пару раз.
Установите для ребенка положение фиксированного и используемого поля вместо верхнего и левого положения, чтобы поместить его.
#wrapper {
width: 5px;
height: 5px;
border: 1px solid #000;
overflow: hidden;
}
#parent {
position: relative;
}
button {
position: fixed;
margin: 10px 0px 0px 30px;
}
Вот пример: http://jsfiddle.net/senica/Cupmb/
Эй, похоже, это отлично работает в Chrome, Firefox и Safari - я попробую его в IE. Спасибо за взломать. –
К сожалению, это не работает в IE (версия 10). Это было бы очень аккуратно. –
приятно, но если вы установите положение: зафиксировано, оно будет исправлено - кнопка останется на том же месте, прокручивая страницу ... – betatester07
Вы можете переполнить элемент из погружения, обернув его в другой DIV, а затем установить изображение в качестве позиции: абсолютный; и компенсировать его с использованием полей.
<div class="no-overflow">
<div>
<img class="escape" src="wherever.jpg" />
</div>
</div>
.no-overflow{
overflow:hidden;
width: 500px
height: 100px
}
.escape{
position: absolute;
margin-bottom: -150px;
}
Пример (протестировано в FireFox + IE10) http://jsfiddle.net/Ps76J/
Все приведенные ответы где не удовлетворяющие для меня. Все они хаки, по моему мнению, и сложно реализовать в сложных макетах.
Так вот простое решение:
После того, как один из родителей имеет определенное переполнение, нет никакого способа, чтобы позволить своим детям переопределить.
Если ребенку необходимо переопределить родительское переполнение, тогда у ребенка может быть другое переполнение, чем у других детей.
Так определить в переливе на каждом ребенкевместо объявить его на родителя:
<div class="panel">
<div class="outer">
<div class="inner" style="background-color: red;">
<div>
title
</div>
<div>
some content
</div>
</div>
</div>
</div>
.outer {
position: relative;
overflow: hidden;
}
.outer:hover {
overflow: visible;
}
.inner:hover {
position: absolute;
}
Вот скрипка:
работает отлично, grazie! – avalanche1
Хитрость состоит в том, чтобы сохранить элемент overflow:hidden
w с position:static
и поместите переполняющий элемент относительно более высокого родителя (а не родителя overflow:hidden
).Как так:
.relative-wrap {
/*relative on second parent*/
position: relative;
}
.overflow-wrap {
height: 250px;
width: 250px;
overflow: hidden;
background: lightblue;
/*no relative on immediate parent*/
}
.respect-overflow {
position: relative;
top: 75px;
left: 225px;
height: 50px;
width: 50px;
background: green;
}
.no-overflow {
position: absolute;
top: 150px;
left: 225px;
height: 50px;
width: 50px;
background: red;
}
<div class="relative-wrap">
<div class="overflow-wrap">
<div class="respect-overflow">
</div>
<div class="no-overflow">
</div>
</div>
</div>
Я также хочу отметить, очень распространенный случай использования для желания иметь переполнение элемент его контейнер таким образом, если вы хотите анимировать высоту выпадающего списка или контейнера от X до 0, и, следовательно, необходимо иметь на контейнере overflow: hidden
. Обычно у вас есть что-то внутри контейнер, который вы хотите переполнить независимо. Поскольку эти элементы доступны только тогда, когда контейнер «открыт», вы можете воспользоваться и установить переполнение назад на visible
после контейнер полностью открыт, а затем установите его обратно на hidden
, прежде чем пытаться анимировать контейнер до height: 0
,
Все вышесказанное приятно, но ничего не сравнится JAVASCRIPT
. (с использованием jquery
). Так,
<script>
var element = $('#myID');
var pos = element.offset();
var height = element.height(); // optional
element.appendTo($('body')); // optional
element.css({
position : 'fixed'
}).offset(pos).height(height);
</script>
Что я есть, получить исходное положение элемента (относительно страницы), возможно получить ширину или высоту, при необходимости добавить элемент к телу, применить новое правило CSS position : fixed
и, наконец, применить исходное положение и, при необходимости, ширину и высоту.
Обычно я не делаю опрос людей, но я просто получил это. Это плоский ужасный подход к программированию веб-страниц. Кодирующие гуру в Google и Mozilla проводят вечность, совершенствуя SIMD-ориентированные внутренние элементы CSS. Вы просто не можете победить, просто позволяя браузеру выполнять эту работу. Вместо того, чтобы переходить на все javascript, вы должны перенести как можно большую часть обработки в CSS. В связи с перечисленными выше причинами это лучший подход к программированию веб-страниц. Кроме того, не используйте JQuery. –
Без особых чувств. Мнения похожи на носы. У каждого есть один. ИМХО это просто еще один способ решить проблему. JQuery - это именно так. Другой способ решения проблем. С новым годом. –
Я буду +1, потому что это решение проблемы, которая в некоторых случаях не имеет решения. Очевидно, что когда «гуру кодирования» в Google и Mozilla дают нам решение CSS, это больше не понадобится. (Тем не менее, я не буду использовать его.) –
Оберните overflow: hidden
div
с другим div
, который имеет CSS свойство -
transform: translate(0, 0);
и в вашем specefic тег, который вы хотите, чтобы переопределить - overflow: hidden
, установите его -
position: fixed;
он будет по-прежнему находиться относительно его материнской компании
ie -
.section {
...
transform: translate(0, 0);
}
.not-hidden {
position: fixed;
...
}
Там в настоящее время не так, как я в курсе, чтобы сделать родительский узел с переливом скрытым есть дети видны за ее пределами (за исключением position:fixed
детей).
ОДНАКО, вместо использования переполнения можно использовать свойство контура, установленное на цвет фона в сочетании с свойством z-index, чтобы замаскировать некоторые элементы, сохраняя при этом другие.
.persuado-overflow-hidden {
/*gives the appearance of overflow:hidden*/
z-index: -100;
position: relative;
outline: 1000vw solid white;
overflow: visible;
}
.overridevisible {
/*takes the element out of the persuado overflow hidden*/
z-index: 1;
}
/*does the other styling to the text*/
.loremcontainer {
width: 60vw;
height: 60vh;
margin: 20vw;
border: 1px solid;
}
.loremtxt {
width: 100vw;
height: 100vh;
margin: -20vh;
z-index: -1;
}
.positionmessage {
z-index: 100;
position: absolute;
top: -12vh;
left: -5vw;
right: -5vw;
color: red;
}
<div class="persuado-overflow-hidden loremcontainer">
<div class="loremtxt">
<div class="overridevisible positionmessage">Then, theres this text outside the paragraphs inside the persuado overflow:hidden element</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce porta lorem lorem, eu dapibus libero laoreet et. Fusce finibus, felis ac condimentum commodo, mauris felis dictum sapien, pellentesque tincidunt dui dolor id nulla. Etiam vulputate turpis eu lectus ornare, in condimentum purus feugiat. Donec ultricies lacinia urna, sit amet ultrices magna accumsan ut. Suspendisse potenti. Maecenas nisl nibh, accumsan vel sodales in, rutrum at sem. Suspendisse elit urna, luctus vitae urna ut, convallis ultricies tellus. Ut aliquet auctor neque, nec ullamcorper tortor ullamcorper vitae. Fusce at pharetra ante. Aliquam sollicitudin id ante sit amet sagittis. Suspendisse id neque quis nisi mattis vulputate. Donec sollicitudin pharetra tempus. Integer congue leo mi, et fermentum massa malesuada nec.
</div>
</div>
У меня есть супер-простое решение этой проблемы: Используйте "предварительный" тег. Я знаю, что pre tag является эквивалентом использования «goto» в программировании, но эй: он работает!
<div style="overflow: hidden;">
<pre>
super long text which just goes on and on and on and on and one, etc.
</pre>
</div>
- 1. Изображения не переполнения: скрытый
- 2. переполнения: скрытый не скрывала
- 3. Silverlight против переполнения = «скрытый»
- 4. переполнения: скрытый не работает
- 5. Предотвратить фон переполнения без переполнения: скрытый
- 6. Пересечение границы переполнения: скрытый обертка
- 7. scrollTop и HTML переполнения: скрытый
- 8. Html/CSS Скрытый горизонтальный переполнения
- 9. Установить тег-тег для отображения: блок, но изначально скрытый
- 10. Текст переполнения текста Elm: размер переполнения скрытый или прокрутка
- 11. Условный скрытый полевой тег - рельсы
- 12. Стиль переполнения: скрытый и SVG Firefox 3.6
- 13. JQuery выберите конкретный тег
- 14. Выделите конкретный тег DIV
- 15. TinyMCE - вставка скрытый тег ввода
- 16. переполнения: скрытый в IOS не работает
- 17. тела переполнения: скрытый отключает прокручивать колесиком мыши
- 18. wpautop и конкретный тег
- 19. Как укладывать конкретный тег
- 20. Jquery Clone конкретный тег
- 21. Достигнув края переполнения: скрытый «занавес» в TweenMax
- 22. Jquery переполнения: скрытый область получить Droppable
- 23. IE переполнения: скрытый генерирует новую строку
- 24. переполнения: скрытый не работает внутри таблицы
- 25. Переполнения CSS: скрытый создавая запас на нижних
- 26. Получение вне переполнения: скрытый ящик в IE
- 27. Силовой элемент для отображения за пределами переполнения: скрытый
- 28. Как разрешить тег img?
- 29. Разрешить некоторые разделы прокручивать на множестве теле: переполнение = скрытый
- 30. Использование переполнения: скрытый на <object> тег не работает в Internet Explorer 9 и выше
Тот факт, что это не может быть достигнуто, по-моему, недостаток текущей возможности HTML-рендеринга. – Lisa
Почти идентичный вопрос: http://stackoverflow.com/questions/8432883/overflow-a-list-inside-a-div-of-which-overflowhidden – Lisa
@Lisa Согласен, мне жаль, что не было способа исключить элемент от любого переполнения! – webkit