2015-02-02 2 views
0

У меня проблема с разрывом строки между содержимым HTML-элемента, а именно: после содержимого. Это сортируемый стол, а в верхней части стола - небольшая стрелка.Избегайте разрыва строки между контентом и: после

Вы можете увидеть его в этой скрипке http://jsfiddle.net/ceuwob93/ или на этой картинке:

Unwanted line-break after "Problem"

Очевидно, что я не хочу, чтобы разрыв строки перед стрелкой.

table { 
    width: 300px; 
} 
thead { 
    background-color: #ddd; 
    border-bottom: 1px solid #bbb; 
} 
th.sort-down:after { 
    content: ''; 
    float: right; 
    margin-top: 7px; 
    border-width: 0 4px 4px; 
    border-style: solid; 
    border-color: #404040 transparent; 
} 
+2

Ваши ячейки таблицы необходимо починки ширину. Для меня ваш код работал без нарушения линии с шириной ячейки 400 пикселей и шириной таблицы 800 пикселей. –

ответ

1

Вы можете сделать, как предложено и дать столбцы фиксированной ширины, или если вы хотите более гибкий подход, вы можете использовать позиционирование для вашего: после элемента.

table { 
 
     width: 300px; 
 
    } 
 
    thead { 
 
     background-color: #ddd; 
 
     border-bottom: 1px solid #bbb; 
 
    } 
 
    .sort-down { 
 
     padding-right: 1.5em; 
 
     position:relative; 
 
    } 
 
    .sort-down:after { 
 
     content: ''; 
 
     position:absolute; 
 
     top:7px; 
 
     right:5px; 
 
     border-width: 0 4px 4px; 
 
     border-style: solid; 
 
     border-color: #404040 transparent; 
 
    }
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>Column 1</th> 
 
     <th class="sort-down">Problem</th> 
 
     <th>Column 3</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>Some long long long Text</td> 
 
     <td>Yes</td> 
 
     <td>Some other long long long text</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

-1

http://jsfiddle.net/ceuwob93/1/

position:absolute !important; 

просто изменить поплавок в положение абсолютной.

+0

Да, просто «позиция абсолютная». Нет необходимости в '! Important'. – BoltClock

+0

что просто для скрипки знать, что я меняю это значение. – aahhaa

+0

Это никогда не было необходимо. Даже в скрипке. Я не вижу * ничего * там, где требуется '! Important'. – BoltClock

1

Вместо того, чтобы плавать псевдоэлемент, попробуйте установить его абсолютно.

table { 
 
    width: 300px; 
 
    vertical-align: top; 
 
} 
 
thead { 
 
    background-color: #ddd; 
 
    border-bottom: 1px solid #bbb; 
 
} 
 
.sort-down { 
 
    position: relative; 
 
    padding-right: 12px; 
 
} 
 
.sort-down:after { 
 
    content: ''; 
 
    position: absolute; 
 
    bottom: 0; 
 
    right: 0; 
 
    border-width: 0 4px 4px; 
 
    border-style: solid; 
 
    border-color: #404040 transparent; 
 
}
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>Column 1</th> 
 
     <th class="sort-down">Problem</th> 
 
     <th>Column 3</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>Some long long long Text</td> 
 
     <td>Yes</td> 
 
     <td>Some other long long long text</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

Смежные вопросы