Картинка

Главные вкладки

Аватар пользователя magiq magiq 26 июля 2009 в 20:04

При добавлении картинки в статью, она вылазит за пределы блока, и залазит на следующую новость. Поиск юзал 25 раз, решения не нашел. Средствами css решить проблему тоже не удалось.

Комментарии

Аватар пользователя Stan.Ezersky Stan.Ezersky 26 июля 2009 в 20:11

"magiq" wrote:
Средствами css решить проблему тоже не удалось.
Да неужели?-)
Ищите по гуглопоиску позиционирование и обтекание

Аватар пользователя Guide Guide 26 июля 2009 в 21:17

"magiq" wrote:
При добавлении картинки в статью, она вылазит за пределы блока, и залазит на следующую новость. Поиск юзал 25 раз, решения не нашел. Средствами css решить проблему тоже не удалось.

Купил себе машину серебристого цвета, где-то сзади стучит постоянно, спрашивал в сервисе, не помогают. Smile

Вы бы показали, где этот рисунок, как вы его вставляете, css код который используете. Оборачиваете ли её слоем? Мда...

Аватар пользователя magiq magiq 27 июля 2009 в 0:22

Guide wrote:
"magiq" wrote:
При добавлении картинки в статью, она вылазит за пределы блока, и залазит на следующую новость. Поиск юзал 25 раз, решения не нашел. Средствами css решить проблему тоже не удалось.

Купил себе машину серебристого цвета, где-то сзади стучит постоянно, спрашивал в сервисе, не помогают. Smile

Тупое сравнение, здесь оно не в тему.

На любой теме , при вставки в статью или новость, если картинка больше текста, залезает на следующую новость. Вы бы не выпендривались и попробовали бы сами, проблема на друпале давно известная, а вот решений а еще не находил. Просто если картинка меньше текста то все нормально.

Аватар пользователя magiq magiq 27 июля 2009 в 5:42

EzS wrote:
Код в студии (html и css от блока), здесь нет телепатов.
Если просите помощи, то показывайте свой код.

20 раз пишу, любая стандартная тема, залезь в стили и сам глянь

Аватар пользователя NurOff NurOff 27 июля 2009 в 2:57

Какой код? Ребята эта фича всегда так работала. http://www.drupal.ru/node/2734
В-общем если картинку взять чуть больше, чем текст, то красивый эффект обьемности(трехмерности) получается. Ну, а когда картинка чуть больше тут уже безобразие...
Решений много. Простое использовать lightbox.

Аватар пользователя Stan.Ezersky Stan.Ezersky 27 июля 2009 в 4:25

"NurOff" wrote:
всегда так работала. http://www.drupal.ru/node/2734[/quote]404

Вот я читаю и не могу понять: о чём мы говорим не видя ни кода, ни хотя бы скриншотов?
Если картинка вылезает из своего блока - это уже ошибка в таблицах стилей.

Аватар пользователя Zga Zga 27 июля 2009 в 9:51

Делай картинки меньше - в чем проблема??? Или если ты хочешь сказать, что на других сайтах и других движках при флоат:лефт в стилях, картинка не "залазит" на текст, а мистическим образом уменьшается - переходи на другой движек... ))))))

Аватар пользователя magiq magiq 27 июля 2009 в 13:44

yustos.com wrote:
Оберните текст после картинки во что-нибудь (div, span, p на худой конец), используйте css и будет вам счастье

пробовал, не помогает

Аватар пользователя WiseMan WiseMan 27 июля 2009 в 11:48

"magiq" wrote:
http://magiq.ru/
Смотрите но долго безобразие это не оставлю

В вашем случае это решается добавлением свойства clear: both; для .node-type-story или .teaser

И друпал тут не при чем! Wink не сгущайте краски.

Аватар пользователя magiq magiq 27 июля 2009 в 13:45

WiseMan wrote:
"magiq" wrote:
http://magiq.ru/
Смотрите но долго безобразие это не оставлю

И друпал тут не при чем! Wink не сгущайте краски.


а что причем? на меня наложили темную магию? или расположение звезд неудачное? На всех темах такое, не только на этой.

Аватар пользователя magiq magiq 27 июля 2009 в 13:55

WiseMan wrote:
"magiq" wrote:
http://magiq.ru/
Смотрите но долго безобразие это не оставлю

В вашем случае это решается добавлением свойства clear: both; для .node-type-story или .teaser

И друпал тут не при чем! Wink не сгущайте краски.


в каком css файле? В теме нету таких классов

Аватар пользователя WiseMan WiseMan 27 июля 2009 в 19:11

"magiq" wrote:
в каком css файле? В теме нету таких классов

А кто мешает добавить или взять другой стиль, для котрого применимо это свойство в данном случае. Заголовок например Wink

Попробуйте для начала вставить css в файл темы. Чтобы понять что это сработает. При условии что вы ориентируетесь хоть немного в css. В противном случае лучше попросите помочь делом знающего человека. Сделать чаще быстрее чем объяснять вам как и что Wink не бесплатно естественно.

Вообще не обязательно файлы темы менять, если вы ее обновлять будете. Можно через админку. В блоке например. Поищите здесь на сайте как делать вставку css через php, используя API друпала. Это как вариант.

Можно просто в блоке стили прописать.

Главное расположите блок выше контента!

Вообще как всталять css это уже второй вопрос.

"magiq" wrote:
а что причем? на меня наложили темную магию? или расположение звезд неудачное? На всех темах такое, не только на этой

причем знание css и html
Нет на 100% универсальных тем. Особенно учитывая что модули добавляют свои стили. Не может же дизайн учитывать стили всех модулей сразу, и новых в том числе Lol

Еще один вариант, при вставке картинок в контент вставлять их перед пустым div для которого прописать свойство clear:both;

Аватар пользователя Stan.Ezersky Stan.Ezersky 27 июля 2009 в 19:16

"magiq" wrote:
20 раз пишу, любая стандартная тема, залезь в стили и сам глянь
Вот блин мне заняться больше нечем. У кого из нас проблемы с (x)HTMl и CSS???

А вообще, всё это решается примерно так:

.node {clear: both; margin: 10px 0; }
.node img, .node a img {float: left; width: 150px; height: 250px; margin: 5px 20px 5px 10px; }

Это в том случае, если картинка находится в блоке с классом node. То есть, нужно прописать фиксированные размеры для изображения. К тому же, вряд ли кому-то понравится мельтешение картинок разного размера, имхо.

Аватар пользователя magiq magiq 27 июля 2009 в 19:36

EzS wrote:

А вообще, всё это решается примерно так:

.node {clear: both; margin: 10px 0; }
.node img, .node a img {float: left; width: 150px; height: 250px; margin: 5px 20px 5px 10px; }

Это в том случае, если картинка находится в блоке с классом node. То есть, нужно прописать фиксированные размеры для изображения. К тому же, вряд ли кому-то понравится мельтешение картинок разного размера, имхо.


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

Аватар пользователя WiseMan WiseMan 27 июля 2009 в 19:20

"EzS" wrote:
А вообще, всё это решается примерно так:

.node img, .node a img {float: left; width: 150px; height: 250px; margin: 5px 20px 5px 10px; }

Это в том случае, если картинка находится в блоке с классом node. То есть, нужно прописать фиксированные размеры для изображения. К тому же, вряд ли кому-то понравится мельтешение картинок разного размера, имхо.

Применять единый стиль сразу для всех картинок внутри ноды... хм. А зачем?

Проблема не в размере картинок, а в том, что свойство float не очищается и картинки "клеятся" к ближайшему div.

Кроме того, решение делать все картинки одинаковыми может усложнить жизнь начинающим. Все же бывает нужно в тексте разные картинки ставить, а учитывая небольшие познания в области css не каждый сможет самостоятельно перекрыть предложенный вами вариант стиля. ИМХО.

Аватар пользователя Stan.Ezersky Stan.Ezersky 27 июля 2009 в 19:25

"WiseMan" wrote:
рименять единый стиль сразу для всех картинок внутри ноды... хм. А зачем?
Дан пример css-кода. Теперь очередь за тем, кто делает себе сайт. Никто же не мешает добавить картинке класс?-)

Аватар пользователя magiq magiq 27 июля 2009 в 19:37

"WiseMan" wrote:
Еще один вариант, при вставке картинок в контент вставлять их перед пустым div для которого прописать свойство clear:both;

Тоже не радует.

Аватар пользователя magiq magiq 27 июля 2009 в 19:39

"WiseMan" wrote:
В вашем случае это решается добавлением свойства clear: both; для .node-type-story или .teaser

не помогает

Аватар пользователя WiseMan WiseMan 10 ноября 2015 в 11:46

"magiq" wrote:
clear: both; для .node-type-story или .teaser - не помогает


Должно помочь и помогает. См. скриншот, сделал у себя локально, добавив в конец файла стилей:
.teaser {
clear: both;
}
Можете здесь же еще отступы настроить, а то близко друг к другу. Хотя лучше отступы лучше для картинки прописать.

Проверьте через firebug не перекрываются ли стили и какой стиль применяется. Не забудьте очистить кэш и отключить сжатие css в настройках производительности, если включено.

Если добавите clear: both; для .node тоже будет то что надо, но могут быть подводные камни если начнете использовать сетку во вьсах и т.п., т.к. .node слишком "общий" класс захватывающий отображение и тизеров и полнотекстовых страниц.

P.S. Альтернатива изменению файлов темы - модуль customcssjs

Аватар пользователя Freedom Freedom 27 июля 2009 в 22:25

Да смени ты в style.css своей темы (723 строка)

div.node {
margin:0 0 30px;
}

на

div.node {
clear:both;
margin:0 0 30px;
}

и пиши в теме РЕШЕНО!