複数の行を使用する場合は、テキストを1行に収まるように水平に整列できますが、整列は行わず、white-space: normal
を実行します(ただし、必ずしも、javascriptなしで)?1行の場合はセンタリングを行いますが複数行の場合はセンタリングしません
4
A
答えて
3
ここにHTML + CSSソリューションがあります。
トリックがある:それはそのコンテンツのサイズに縮小するよう<p>
内部
<span>
はdisplay: inline-box;
性質を持っています。<p>
は<span>
の大きさは、<p>
の幅より小さい場合<span>
が中心になるようtext-align: center
を有しています。<span>
はそうテキストが実際に左揃えされますtext-align: left
を持っています。
<!DOCTYPE html> <html>
<head>
<title>Center</title>
<style type="text/css">
.big-box {
text-align: center;
width: 40em;
border: 1px solid red;
}
.center-if-single-line {
text-align: left;
display: inline-block;
border: 1px solid blue;
}
</style>
</head>
<body>
<div>
<h1>Small</h1>
<p class="big-box">
<span class="center-if-single-line">
All your line are belong to us!
</span>
</p>
<h1>Big</h1>
<p class="big-box">
<span class="center-if-single-line">
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
All your line are belong to us!
</span>
</p>
</div>
</body>
</html>
1
div -/pの高さについてのお問い合わせは、必ずしも最適ではありません.Javascriptソリューションは、そこから決定してください。あなたは、DOM要素が1行だけであれば、その高さを知る必要があります。高さがこの値を超える場合は、1つのことを行います。もしそうでなければ、あなたはもう一方をやります。より一般的な出現にデフォルト設定するようにCSSを設定し、少数のケースでのみCSSを変更します。例えば
:あなたはまた、jQueryのを使用することができ
var tag = document.getElementById("id_here");
if(tag.offsetHeight > 18){
tag.style.textAlign = "left";
tag.style.whiteSpace = "normal";}
。 offsetHeightにはパディングが含まれています。
しかし、あなたは本当にJavascriptソリューションを望んでいません。ダイナミックなスタイリングが必要なので、CSSでどうやってやるか考えていない。私はそれが不可能であると主張しているだろう。
関連する問題
- 1. テキストが1行の場合はCSS改行が1行以上の場合は改行なし
- 2. 複数の画像を1行にセンタリングする
- 3. データの場合はForm_validationが実行されていません
- 4. 入力行がない場合、array_agg()は行を返しません。
- 5. else文がうまく動作しない場合は1行
- 6. グリッドビューのヘッダーと行のサイズが大きい場合レコードが少ない場合、行が多い場合は
- 7. ビューがプロパティの場合、InitWithFrameは実行されません。
- 8. グループがある場合、複数の行を1行に書き込む
- 9. AngularJSとJSON(複数行の場合)
- 10. テーブルの行数が制限値より小さい場合は、行数-1を返します。
- 11. IDが同じ場合、複数の行を1行にマージする方法はありますか?
- 12. Pythonの1行が他の場合
- 13. PHPで複数のセルが空の場合は行をスキップ
- 14. ネストされたフレックスボックスの場合、センタリングが失敗する
- 15. LLVM:CallGraphWrapperPassが必要な場合、Clangは実行されません
- 16. 実行方法複数のクエリを一度に実行し、1つが失敗した場合は別のクエリを実行できません。
- 17. jQueryのワンクリックが、特定の場合には、複数の実行
- 18. jQuery UIオートコンプリートは、ajax関数ソースの場合に_renderItemを実行しません。
- 19. 行がコンマで始まる場合、RStudioの複数行の実行が機能しない
- 20. レスポンスが複数行または単一の場合のPHPリスト関数
- 21. アイソトープがセンタリングしていません
- 22. mapmarkerが選択されている場合は1つのアクションを実行し、そうでない場合は別のアクションを実行します。
- 23. テーブルに行が存在しない場合、MYSQLクエリは機能しません
- 24. の場合は1行上になります。マクロ
- 25. AJAXの応答が遅い場合は、リスト行が表示されません。
- 26. 行数が1より大きい場合、UITableViewがクラッシュする
- 27. UITextViewのサイズを変更するには1行しかない場合複数行から表示
- 28. 複数の重複行が存在し、重複していない行を返す場合は、1行だけを返す方法?
- 29. 場合は、新しい行を開始
- 30. bodyにクラスがない場合はコードを実行します
グレート。これは完璧です。 – sawa
うわー...ちょうど...うわー!非常にクール:) +1 – Hristo