Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Как заставить пустой тег <p> быть высотой в одну строку? (https://javascript.ru/forum/xhtml-html-css/31730-kak-zastavit-pustojj-teg-p-byt-vysotojj-v-odnu-stroku.html)

xintrea 19.09.2012 00:26

Как заставить пустой тег <p> быть высотой в одну строку?
 
Здравствуйте!


Столкнулся с проблемой. Фреймверк Qt, при генерировании HTML-кода редактируемой области, создает такой HTML:

Код:

...
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Можно дать команду:</p>

<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>

<p style=" margin-top:0px; margin-bottom:0px; margin-left:20px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New'; color:#6a0e07;">$ mencoder -ovc help</span></p>
...

Средний тег <p> - пустой. В браузерах на WebKit он отображается как отдельная пустая строка. А в Opera и Firefox он никак не отображается, то есть верхний и нижний <p> смыкаются.

Если поставить пробел в содержимое среднего тега, то отдельная пустая строка появляется.

Вопрос. Можно ли через CSS настроить свойства элемента <p> так, чтобы он даже будучи пустым, отображался как отдельная пустая строка?

Ссылка на HTML код для экспериментов: http://paste.org.ru/?p2hqh9

xintrea 19.09.2012 00:34

Так, я сейчас поковырялся, и оказалось что Qt проверяет строки при генерации HTML. Для абсолютно пустых он добавляет в style свойство:

Код:

-qt-paragraph-type:empty;
а для непустых (даже с одним пробелом) такого свойства не прописывается.

Я впринципе могу регвырами на лету заменять эту подстроку на что-нибудь другое. Вопрос - на что?

ksa 20.09.2012 09:54

Цитата:

Сообщение от xintrea
Вопрос. Можно ли через CSS настроить свойства элемента <p> так, чтобы он даже будучи пустым, отображался как отдельная пустая строка?

Как некий частный случай...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
body {
	background-color: #ffffff;
}
p:after {
	content: '-';
	color: #ffffff;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Можно дать команду:</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:20px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New'; color:#6a0e07;">$ mencoder -ovc help</span></p>
</body>
</html>

Nanto 23.09.2012 16:33

Обычно по дефолту во многих css-файлах проставляют p{margin:0 0 1em 0;}

dmitry111 29.09.2012 10:55


FINoM 29.09.2012 15:35

А min-height не катит?

ksa 01.10.2012 09:38

Цитата:

Сообщение от FINoM
А min-height не катит?

Так как понять какого размера буквы в другом абзаце...


Часовой пояс GMT +3, время: 03:28.