Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2009-01-03 11:43:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
lj-cut
     Есть с "лже-катами" известная проблема: то, что находится вне ката, будет показано и под катом, да и само оформление ката не всегда удачно вписывается в пост. Скажем, превьюшку фотки "и большую под катом" придётся оформлять не кликом по фотке, а кликом по кату, и под катом превьюшка так и останется болтаться рядом с фоткой.

     Спасибо [info]caspianroach@lj, я теперь умею вот так (сравним текст в ленте и текст собственно поста):

     
222
111


     Единственное - у меня "чётность не сохраняется": в посте открывается на один div больше чем закрывается. Но работы ведутся :-) UPD: починено :-)
     "Правильный ответ" (точнее, мой вариант решения) см. в комментариях :-)


(Добавить комментарий)


[info]todofmm@lj
2009-01-03 05:58 (ссылка)
Так всё же как?

(Ответить) (Ветвь дискуссии)


[info]todofmm@lj
2009-01-03 05:59 (ссылка)
Кстати, в гугль ридер приходит и то и другое, лол.

(Ответить) (Уровень выше)


[info]dibr@lj
2009-01-03 06:05 (ссылка)
Use the source, Luke! Там всё довольно очевидно :-)

"Ждите отгадки в следующем номере" :-)))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]todofmm@lj
2009-01-03 06:06 (ссылка)
Ето же дивом делается, так?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2009-01-03 06:37 (ссылка)
Ага! :-)

(Ответить) (Уровень выше)


[info]vetka_nn@lj
2009-01-03 07:04 (ссылка)
Это еще давным-давно [info]bujhm@lj открыл. :)

Точнее, здесь (http://bujhm.livejournal.com/2007/05/20/) будет нагляднее.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-01-03 07:25 (ссылка)
Вах, молодчинка какая (я про [info]bujhm@lj). Невидимый болд, невидимый италик, открываем <i> - тут же закрываем </b>, почему-то два лже-ката... что ж ему <div>'ами стили-то не задаются, они ж вроде специально для того и придуманы?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vetka_nn@lj
2009-01-03 09:22 (ссылка)
Может быть потому, что див в отличие от болда и италика блочный элемент и не всегда уместен? Ну и кроме того, так проще проследить, кто где невидимый, а кто нет. :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2009-01-03 19:19 (ссылка)
Убедила. Тогда - span, он не блочный :-)
А отследить - проще, да. Особенно когда открываем <i>, и тут же закрываем </b> :-) Я вот не уверен, что поведение браузеров при этом стандартизовано...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vetka_nn@lj
2009-01-06 13:35 (ссылка)
Ну, стандартам XHTML 1.0 такое действительно не соответствует и валидаторы будут ругаться (хехе, покажите мне хоть одну страничку в ЖЖ, на которую бы не ругался валидатор!), но для HTML 4.0 такое вполне нормально и браузеры эту конструкцию должны схавать не поморщившись. Да и с точки зрения логики конструкция вполне разумная, например:

<b>Вот этот текст мы делаем болдом, <i>а этот и болдом, и италиком</b>, а здесь италик остается, но болда уже нет</i>.

Но вообще согласна, твоя конструкция более доведенная до ума. Хотя я сначала не могла въехать, зачем нужен внешний див без всяких дополнительных стилей. Потом дошло. :)

(Ответить) (Уровень выше)


[info]dibr@lj
2009-01-04 07:55 (ссылка)
Что-то я смотрю ещё раз на пост этого "буджхма", и на свой вариант того же самого, и у меня продолжает оставаться впечатление, что мой вариант раза так в три проще, и при этом не страдает мелочами типа "открываем один тэг, закрываем совсем другой". Свой глюк с незакрытием тэгов я исправил :-)

И до кучи - твой коммент у него про "style=visibility:hidden; display:none;" во-первых не работает (забыты кавычки, без них display относится уже к <b> а не к style), а во вторых он его благополучно проигнорировал (хотя и ответил): и в примере так и висит старый код, и на странице - белые прямоугольники в ненужных местах...

Но это я так, занудствую :-)

(Ответить) (Уровень выше)


[info]azgar@lj
2009-01-03 14:22 (ссылка)
Я подобную штуку делал когда-то с картинками.
Через таблицы, кажется. А может через дивы...
Забыл :(

(Ответить)

Решение:
[info]dibr@lj
2009-01-04 07:45 (ссылка)
Два варианта решения этой задачи.

1) "полный" вариант (прячущий стандартное оформление lj-cut).

<div><div style="display:none;"><lj-cut></div></div>ТЕКСТ В ПОСТЕ<div style="display: none;"><div></lj-cut></div>ТЕКСТ В ЛЕНТЕ</div>

2) "упрощенный" вариант - не прячет стандартный lj-cut.

<div><lj-cut text="ТЕКСТ КАТА"></div>ТЕКСТ В ПОСТЕ<div style="display: none;"></lj-cut>ТЕКСТ В ЛЕНТЕ</div>

Примечания:
  - если кому-то мешает то, что <div> принудительно разрывает строку, <div> можно заменить на <span> - он не блочный (строку не рвёт);
  - "текст в посте" и "текст в ленте" могут содержать любые (допустимые в ЖЖ и не ломающие структуру <div>/</div>) html-тэги. Например, <a href=> или <img src=>;
  - "текст ката" в варианте 2 - к сожалению, просто текст, и оформляется стандартным для ЖЖ образом.

(Ответить) (Ветвь дискуссии)

Re: Решение:
[info]todofmm@lj
2009-01-18 17:53 (ссылка)
Схоронил сей хитрый план!

(Ответить) (Уровень выше)