2016-08-19 4 views
1

Мой вопрос очень коротко и ясно .. Я хочу, чтобы более короткий разделитель, чем это:Как уменьшить длину границы элемента?

.myclass{ 
 
    border-left: 1px solid; 
 
    margin-left: 4px; 
 
    padding-left: 4px; 
 
    height: 3px; 
 
}
<span>Age</span><span class="myclass">21</span>

Это ожидаемый результат:

enter image description here

Как вы видите, Я установил height: 3px, но все же высота этого span больше, чем 3px. Как я могу сделать эту границу короче?

+0

Возможно, вы спросили: «Как уменьшить высоту элемента»? – Aziz

+0

@ Азиз Да .. Извините, я не очень хорошо знаю английский –

ответ

2

Установка высоты встроенного элемента не будет иметь никакого эффекта. Добавить display: inline-block; для того, чтобы уважать height: 3px;

+0

[Отлично] (https://jsfiddle.net/xssmmqk1/1/) .. upvote. Но в этом случае эта граница находится в верхней части элемента, как я могу поместить ее в центр по вертикали? –

+0

В центре: 'line-height: 3px;' – dNitro

+0

хорошо спасибо. –

4

Я предполагаю, что вы пытаетесь сделать высоту границы менее, не обязательно уменьшая высоту span тега (который содержит текст).

В этом случае вы можете просто использовать псевдоэлемент (например, ::before), который вы можете контролировать с помощью CSS.

.myclass::before { 
 
    content: ''; 
 
    display: inline-block; 
 
    height: 3px; 
 
    width: 1px; 
 
    background: #000; 
 
    vertical-align: middle; 
 
    margin-right: 5px; 
 
}
<span>Age</span> <span class="myclass">21</span>

Обратите внимание, как линия 3px высока.

+0

Хорошо спасибо .. upote –

+0

В качестве примечания * селектор pseudo * не работает в старых браузерах, таких как IE7. –

+0

О, мои соболезнования – Aziz

0

Сохраните это. Просто используйте | символа в HTML.

Demo.

<span>Age |</span> 
<span class="myclass">21</span> 

.myclass { 
    padding-left: 4px; 
    height: 3px; 
} 
+1

Высота символа '|' больше, чем ожидалось. –

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