2016-10-10 7 views
6

ボタンとアンカーが同じに見えます。しかし、ボタン/アンカーの内部に長いテキストがある場合は、それを壊してテキストの中心を中央に表示する必要があります。十分なスペースがある場合、テキストも中央揃えにする必要があります。テキスト中心ではなく、私はline-height:1を設定したテキストの改行はまた、私はvertical-align:1を設定し、もちろん、私はそれ以外のテキストが壊れていないだろうと、ボタンがオーバーフローするwhite-space: normalを設定しなければならなかったときあふれを得るためにCSS:アンカーとボタンの垂直方向の整列

私は以下の問題を抱えています(クロムでテストしました):テキストが1行の場合、アンカータグの中にはもう中心が置かれません...さらにDOMを変更したくありません

ボタンがアンカーと異なる動作をする理由を教えてください。私はすでにクロムインスペクタ内のすべてのスタイルをチェックしました(計算済み - >すべて表示)。また、:before:afterのスタイルも確認しました。

.btn{ 
 
    white-space: normal !important; 
 
    height: 45px !important; 
 
    vertical-align: middle !important; 
 
    line-height: 1 !important; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 

 
<div class="row"> 
 
    <div class="col-xs-2"> 
 
    <a href="#" class="btn btn-default">test loooooooooooooooooooongstring<a> 
 
    <br /><br /> 
 
    <button class="btn btn-default">test loooooooooooooooooooongstring</button> 
 
    </div> 
 
</div> 
 
    
 
<br /><br /><br /> 
 
    
 
<div class="row"> 
 
    <div class="col-xs-12"> 
 
    Should be centered!! 
 
    <br /> 
 
    <a href="#" class="btn btn-default">test string<a> 
 
    <br /><br /> 
 
    <button class="btn btn-default">test string</button> 
 
    </div> 
 
</div>

UPDATE:ここ

が可能な解決策であるが、私は、これは副作用原因かどうかを知りません:

.btn{ 
    display: inline-flex; 
    align-items: center; 
} 
+0

あなたは.btnから一定の高さを削除する場合は、両方の –

+0

ええのための垂直方向に整列したテキストを取得することができますが、あなたが表示しようとしたなかった場合、私は、高さ45px(顧客の要求) – warch

+0

とボタンがOKたい:用のテーブルセルを.btn? –

答えて

-2

をあなたがここで変更する必要があります // yoあなたのテキストが長すぎる場合、ボタンはcol-xs-2幅から余分に伸びるので、 'col-xs-2'をcol-xs-12またはupperに変更する必要があります。わかりますか?

<div class="row"> 
    <div class="col-xs-12"> 
    <a href="#" class="btn btn-default">test loooooooooooooooooooongstring<a> 
    <br /><br /> 
    <button class="btn btn-default">test loooooooooooooooooooongstring</button> 
    </div> 
</div> 
+0

私はこれを目的のためにしました。なぜなら、それが壊れたときの見た目を示したかったからです – warch

関連する問題