だから私はこのコードを持っています:
HTML
<button type="submit" id="button" name="send-message">
<span class="content">Lorem ipsum</span>
<span class="container"><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</p</span>
</button>
CSS
button {
width: 100%;
padding: 0;
border: 0;
background-color: green;
position: relative;
}
.content {
display: inline-block;
padding: 1em;
}
.container {
width: 100%;
height: 100%;
background-color: blue;
position: absolute;
top: 0;
left: 0;
}
.container p {
background: yellow;
vertical-align: middle;
}
私は一日中、<p>
垂直方向の中央を内側に配置しようとしましたがspan
、成功しませんでした。問題は、このボタンがレスポンシブである必要があることです。テキストが1行に収まらない場合は、2番目の行に流れ込む必要があります。これはご覧のとおり機能しますが、テキストが中央に配置されるのではなく、ボタンの上に表示されるため、見栄えがよくありません。
クラスcontainer
はある種のオーバーレイを意図しているので、私が.content
何を意味するのかを示すためにそこに残しました。
実際には問題がある可能性がありますがposition: absolute
、IE8 +、(モバイル)Safari、Firefox、Chromeをカバーする必要があるため、それなしでそのタスクを実行することはできません。
この問題のより簡単な解決策がある場合、私はこの効果に使用されるマークアップのファンではないので、それについて聞いてみたいと思います。
私を助けてください!