На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Vasya2000, Serafim, fatalist
  
> Интервал между двумя строками , CSS
    Нужно увеличить интервал между двумя строками. Если делать line-height: 150%, то как следует из названия этого свойства, увеличивается высота обеих строк, т.е. если вокруг строк есть граница (border), то эта граница отодвинется вверх от верха первой строки и вниз от низа второй. Мне же нужно тупо увеличить расстояние между строками. Сделал вот так:
    ExpandedWrap disabled
      <div style="margin-bottom: 8px;">Первая строка</div>Вторая строка
    Но, сдаётся мне, можно как-то красивее это реализовать... Я прав? :)
      div - это блочный элемент, так что однозначно нет. Более верно будет использовать span и уже в нём указывать line-height
        Я же уже говорил про line-height: он будет раздвигать верхнюю и нижнюю границы (условно говоря, padding-top и padding-bottom).
        div работает как надо, но возможно есть более красивый вариант.
          Цитата Jin X @
          красивый

          Цитата Serafim @
          Более верно будет использовать span

          А дальше со всеми паддингами. Других вариантов, кроме (первый чар - :first-letter, и первая строка - :first-line) нету.
            Цитата Serafim @
            Других вариантов, кроме (первый чар - :first-letter, и первая строка - :first-line) нету.
            Не понял, как этим пользоваться применительно к конкретному id или классу:
            ExpandedWrap disabled
              #promo_codebox {
                  position: fixed;
                  bottom: 10px;
                  left: 10px;
                  z-index: 1000000;
                  background: #400;
                  padding: 10px 12px;
                  border: 2px solid #fc0;
                  border-radius: 4px 4px 4px 4px;
                  font-family: Tahoma, Verdana, Arial, sans-serif;
                  font-size: 13pt;
                  color: #fff;
              }
            Вот как здесь сделать первую строку с margin-bottom: 6px; ? :huh:

            Добавлено
            Ну или padding-bottom.

            Добавлено
            Понятно... magrin и padding там не поддерживается, только так:
            ExpandedWrap disabled
              #promo_codebox::first-line {
                  line-height: 200%;
              }
            Но опять же, те же проблемы...
              паддинг вроде должен срабатывать :unsure: он для любых элементов прокатывает. Но если нет, для first-line добавь display: inline-block, тогда точно будет всё работать, включая ширину и высоту даже.
                Вот так?
                ExpandedWrap disabled
                  #promo_codebox:first-line {
                      display: inline-block;
                      padding-bottom: 16px;
                  }
                Не пашет...
                  да, ты прав, какой-то левак с этой first-line. Вот такой хак работает: http://jsbin.com/hurodolaxi/1/edit?html,css,output
                    Проще через div :)
                      Цитата Jin X @
                      Проще через div
                      если длина первой строки не меняется
                        Цитата Jin X @
                        Проще через div

                        Через span :whistle:

                        Добавлено
                        строка - это инлайновый (текстовый), а не блочный элемент (квадрат)
                          K313, о чём ты?

                          Serafim, каким образом ты хочешь увеличить интервал через span?
                          span не работает!!! div работает. Сам попробуй...
                            Цитата Serafim @
                            display: inline-block


                            Добавлено
                            предрекая вопросы "накуя" - о семантике забочусь :)
                              А чем вариант
                              ExpandedWrap disabled
                                <span style="display: inline-block; margin-bottom: 8px;">Первая строка</span><br />Вторая строка
                              лучше варианта:
                              ExpandedWrap disabled
                                <div style="margin-bottom: 8px;">Первая строка</div>Вторая строка
                              ???

                              Добавлено
                              Если работают одинаково...
                                Цитата Serafim @
                                предрекая вопросы "накуя" - о семантике забочусь
                                  Мне не понятен такой ответ :)
                                  Чем это лучше и где тут забота? :)
                                    Цитата Serafim @
                                    строка - это инлайновый (текстовый), а не блочный элемент (квадрат)

                                    Спан - это тоже инлайновый элемент. Плюс не забываем про стандарты, где явно говорится, что нельзя встраивать блочные элементы в инлайновые (я хз что у тебя там раньше, так что лучше перестраховаться). Плюс доступность (например для устройств экранного чтения), плюс поисковая оптимизация (это текст, а не блок, значит расценивать вместе), плюс... Просто эстетически накрайняк.
                                      Цитата Jin X @
                                      K313, о чём ты?
                                      о том что если див с узится, то первая строка может превратиться в две строки и они обе будут отступать от последующего текста.
                                        Цитата K313 @
                                        они обе будут отступать от последующего текста.
                                        Ну, так это наоборот хорошо :)

                                        Добавлено
                                        Главное - не первую _физическую_ строку отделить от всего остального текста, а первую смысловую, т.е. первую часть текста.
                                          Цитата Jin X @
                                          Главное - не первую _физическую_ строку отделить от всего остального текста, а первую смысловую, т.е. первую часть текста.
                                          Ок! просто вы мутили там что то с first-line, вот я и подумал...

                                          Ну а так, может Вам не мух нужно от катлеты отодвигать, а взять всюкотлету и сдвинуть её пониже? например заключив в тег <p>...</p>
                                            Есть один текст и есть другой, между ними должен быть интервал. Так что, мухи выше, котлеты ниже :)
                                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                            0 пользователей:


                                            Рейтинг@Mail.ru
                                            [ Script execution time: 0,0501 ]   [ 15 queries used ]   [ Generated: 28.04.24, 07:51 GMT ]