line-heightの1行目の上余白だけ消したい
- 評価
- クリップ 0
- VIEW 14K+
前提・実現したいこと
line-heightで発生する1行目の上の余白だけ消したいです。
調べても出てこなかったです。。
すみませんがご回答頂けますと幸いです。
使用する状況は、アイコンの横に文章が並ぶレイアウトで
・文言が1行で終わる時はアイコンに対して縦中央そろえ(vertical-align: middle)
・文言が2行以上の場合、文言がtopに揃う(vertical-align: top)
というイメージです。。
2行以上になった場合、文言をアイコンの高さと揃えたいのにlineheightのせいで文言に上アキが出るので解消したいです。。
cssはシングルクラスで書いています。
該当のソースコード
<div class="faqList__body__table">
<div class="faqList__body__icon"><span>A</span></div>
<p class="faqList__body__txt">この文章はダミーです。文字の大きさ、量、字間、</p>
</div>
.faqList__body__table {
display: table;
}
.faqList__body__icon {
position: relative;
display: block;
margin-right: 20px;
width: 45px;
height: 45px;
border-radius: 23px;
float: left;
font-family: "Montserrat", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", "YuGothic", "メイリオ", "Meiryo", sans-serif;
font-weight: 700;
font-size: 1.28571rem;
line-height: 1.1;
background-color: #cb4e0c;
}
.faqList__body__icon > span {
content: "";
display: block;
text-align: center;
position: absolute;
margin-top: -10px;
padding: 0;
top: 50%;
left: 0;
right: 0;
color: #fff;
}
.faqList__body__txt {
display: table-cell;
font-size: 1.14286rem;
line-height: 2;
vertical-align: middle;
}
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+2
疑似要素:first-lineを使ってみてはいかがでしょうか。ブロック内の「1行目」にだけに反映されるスタイルが記述できます。
p {
line-height: 2;
}
p:first-line {
line-height: 1;
}
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
padding-top: 値;
をスタイルシートに加えてみるとか。
padding-スタイルシートリファレンス
ブロック要素同士の隙間・余白の調整は、
marginとpaddingでいじりますが、
ブロック要素の背景色や背景画像を使ったりする場合に、
marginでいじるべきかpaddingでいじるべきかを
しっかり考える必要があります。
今回の件は一見するとmargin-topでもpadding-topでも差し支えないように見えますが、
使い分けは知っておいたほうがいいですよ。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
p{
line-height: 2;
margin-top: -10px;
}
いまいちどういった状況でそれをしたいのか分かりませんが、
上マージンをマイナスで指定するのはどうでしょう?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
上記にその例があります。
確認してみてください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.10%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/02/17 11:39
「p要素内1行目以外にline-heightを適用する」はできないでしょうか?
p:not(first-line) ← 左に似ている記載方法はありますか?
2017/02/17 11:52
https://jsfiddle.net/qaztwh5p/
2017/02/17 12:08
→ p:first-line、1行目だけ上書きされるってことでした。
ちなみに、p と p:first-lineの記載順番を入れ替えて同じ結果になりますね。
必ず後で記載したものが勝つ仕様ではなかったんですね。
2017/02/17 12:22
あなたのいう2行目以降だけ指定したいのであれば、全体のpを使って指定、first-lineの方でそれを打ち消すような書き方をすればできます。残念ながらp:not(first-line)のように、単体のセレクタで「2行目以降だけ」を指定するものは無いと思います。
2017/02/17 12:26
2017/02/17 16:44