?

Log in

No account? Create an account

Previous Entry | Next Entry

HTML conundrum --- HTML-конфликт

As you may have noticed, all my entries are justified (?), so that both the left and the right text margins are stretched toward the end of the writing field, like in books. (I am sorry, I do not know how to word this better.) This is not a feature of my LJ's design, but a deliberate use of the aligning tag on my part, <div align=right/left/justify>TEXT</div>.

This, however, presents a problem I am searching a solution to. The above tag conflicts with the one that allows you to make a paragraph indent, the &-nbsp-; one (without the dashes). In "unjustified" entries, the indents come out all the same depth, but in the "justified" ones, their depth is all over the place, and no amount of varying the number of indents helps.

Does anyone know how to both have your text justified and make the indents the same depth?

*****

Как вы могли заметить, все мои записи выровнены по ширине, как в книгах. И это не свойство дизайна моего ЖЖ, а целенаправленное использование форматирующего тэга <div align=right/left/justify>ТЕКСТ</div>.

К сожалению, однако, данный тэг конфликтует с тэгом, позволяющим создать абзацный отступ, &-nbsp-; (без дефисов). Если запись не выровнена по ширине, все отступы получаются одинаковой глубины, а если выровнена, глубина плавает, и никакое варьирование количества отступов не помогает.

Кто-нибудь знает, как совместить выравнивание по ширине и вставку абзацных отсупов одинаковой глубины?

Comments

( 14 comments — Leave a comment )
fionaa
Aug. 1st, 2014 04:42 pm (UTC)
Добавляй в тег style="text-indent: 20px" (или столько пикселей, сколько тебе надо). Т.е. в окончательном виде каждый абзац должен выглядеть так:

< div align="justify" style="text-indent: 20px" >Текст< /div >
kehlen_crow
Aug. 3rd, 2014 06:44 pm (UTC)
Ага, оно работает, спасибо.

Только - div align=justify оформляет сразу весь текст, а вот style="text-indent" приходится отдельно применять к каждому абзацу почему-то.
jem0000000
Aug. 2nd, 2014 04:19 am (UTC)
I was just popping in to suggest text-indent, but I see someone already has. :)

You don't have to do either of these as a div, though, if you don't want; under the journal style tab, LJ has a custom CSS option that lets you set all your paragraphs to a specific style. (http://www.livejournal.com/customize/options.bml?group=customcss) So since you use text-align:justify for everything, I'd just go ahead and add it there. It would look like this, added there:

p { text-align:justify;
  }


Or, with text-indent:

p { text-align:justify;
    text-indent:20px;
  }

kehlen_crow
Aug. 3rd, 2014 07:17 pm (UTC)
Hmm, I have tried your code and it sort of works, only it inserts extra lines between the paragraphs (the text looks like the Russian part of the entry at the moment). Do you know how to do it without the extra lines?
jem0000000
Aug. 4th, 2014 06:40 pm (UTC)
Someone beat me to it again -- margin=0px; as below should work.

So inline, it would be:

<div style="text-align:justify; text-indent:20px; margin=0px;">


And using the Custom CSS field:

p { text-align:justify;
    text-indent:20px;
    margin:0px;
  }


You could also use
margin=0px inherit;
if you need it to copy left and right indentation but not have the spaces between paragraphs.
kehlen_crow
Aug. 11th, 2014 10:58 am (UTC)
Hmm, the Custom CSS code works, if I want to style all my entries this way. :-)

Yet if I try to format an entry individually, the margin attribute does not work with the div tag, but only with the paragraph tag: <p style="margin:0px">

Edited at 2014-08-11 10:59 am (UTC)
jem0000000
Aug. 12th, 2014 07:46 pm (UTC)
Ah, it may be a paragraph attribute instead of a general attribute, then. Sorry about that!
qumistr
Aug. 2nd, 2014 10:14 am (UTC)
Да, абзацы в html следует выделять тегом <p> ... </p> (замыкающий тег не обязателен), этот тег для абзацев и придуман. Только редактор текста в ЖЖ по старинке разрывает строковой поток тегом <br />, что было нормально в досемантическую эпоху. Таким образом, в ЖЖ тег <p> следует добавлять вручную (как ты это делала с &nbsp;) каждому логическому абзацу в режиме написания html с отключенным автоформатированием.
Стилистические свойства <p>, как правильно уже написали, можно изменить отдельно от общего стиля шаблона. Для этого по адресу http://www.livejournal.com/customize/options.bml?group=customcss в поле "Ваш Css" следует вписать:

p {
text-align: justify;
text-indent: 20px;
}

20px - это величина отступа абзаца.
kehlen_crow
Aug. 3rd, 2014 07:15 pm (UTC)
Получается бредятина.

1. Если я вставляю в "Ваш CSS" этот код, то ЖЖ добавляет лишние строки между параграфами (как в русской части записи сейчас).
2. Если я не вставляю код в CSS, а просто каждый абзац отдельно выделяю <div style="text-indent"> и ЗАКРЫВАЮ тэг </div> - то же самое, лишние строки.
3. А вот если я без кода в начале каждого абзаца пишу <div style="text-indent"> - и НЕ закрываю тэг, форматируется как в книге - как сейчас в английской части записи.

Откуда берутся эти строки??

(Нет, круто конечно что теперь при не обходимости я могу сделать так, как хочу - как в английской части сейчас, и не очень важно как именно это работает. Но хотелось бы логику тоже понимать.)

Edited at 2014-08-03 07:16 pm (UTC)
qumistr
Aug. 3rd, 2014 08:19 pm (UTC)
Редактируй запись, как я уже написал, в режиме html с ОТКЛЮЧЕННЫМ автоформатированием. Всё автоформатирование сведено к тому, что при сохранении записи перенос строки заменяется на тег br, т.е. к разрыву строки тегом div добавляется разрыв строки тегом br и получается лишняя пустая строка. В англ. версии записи её нет, т.к. каждый новый div воспринимается не СЛЕДУЮЩИМ, а ВЛОЖЕННЫМ в незакрытый предыдущий.
div - для других целей, для формирования абзацев используй p.
kehlen_crow
Aug. 4th, 2014 01:48 pm (UTC)
Так. Я поняла насчёт отмены автоформатирования, и вложенных тэгов, а также то, что параграфы правильно обозначать тэгом <p>.

Но даже БЕЗ автоформата эта гадина по-прежнему вставляет лишние строки. Вот смотри:





Edited at 2014-08-04 01:49 pm (UTC)
qumistr
Aug. 4th, 2014 02:20 pm (UTC)
Вот, хорошо. Так сохрани это версию непосредственно в журнале, чтобы я её внутренности вживую посмотрел.
kehlen_crow
Aug. 4th, 2014 02:34 pm (UTC)
Готово.
qumistr
Aug. 4th, 2014 02:58 pm (UTC)
Отлично. Расстояние между абзацами - это не пустая строка, а специально заданный из соображений типографики промежуток между абзацами. Он тебе не нравится, и мы его уберём.

1. В "Ваш CSS" вставляем:

p {
text-align: justify;
text-indent: 20px;
margin: 0;
}

2. Из поста убираем div и больше его не применяем.
( 14 comments — Leave a comment )

Latest Month

November 2017
S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  

Tags

Powered by LiveJournal.com