質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

926閲覧

dlタグ、divタグのbottomを揃えた上でheightも揃えたい

stsyco

総合スコア11

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/03/15 09:49

状況

下記画像[目標]の様にレイアウトしたく思っております。
文字サイズ要素(dlタグ)、input要素(divタグ)、ログイン要素(divタグ)のbottomを揃え、
文字サイズ要素(dlタグ)、input要素(divタグ)のheightが揃っている状態にしたいです。

質問

[現状]はflexboxで横並びにしてmargin-topでbottomが揃う様に微調整をしているのですが、
良い方法ではない気がしております。又、文字サイズ要素とinput要素のheightも揃っておりません。

flexboxを使うところまでは合理的な方法だと思っているのですが、
この様なレイアウトの時はどういう考え方をすれば良いのでしょうか。

※細かなスタイルはまだ実装しておりません。
(要素間の距離等)

[現状]
![イメージ説明
⬇︎
[目標]
目標

[現状]のコード

html

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <link rel="stylesheet" href="css/style.css"> 6 </head> 7 <body> 8 <header> 9 <!-- fontsize --> 10 <dl class="fontsize"> 11 <dt>文字サイズ</dt> 12 <dd> 13 <ul> 14 <li></li> 15 <li></li> 16 <li></li> 17 </ul> 18 </dd> 19 </dl> 20 <!-- input_elements --> 21 <div class="input_elements"> 22 <input type="text" placeholder="キーワードを入力"> 23 <input type="submit" value="サイト内検索"> 24 </div> 25 <!-- login --> 26 <div class="login">ログイン</div> 27 </header> 28 </body> 29</html>

css

1header { 2 display: flex; 3 height: 50px; 4} 5/* fontsize */ 6.fontsize { 7 margin: 25px 0 0 0; 8 display: table; 9} 10.fontsize dt { 11 display: table-cell; 12 vertical-align: middle; 13} 14.fontsize dd { 15 margin: 0; 16 box-sizing: border-box; 17} 18.fontsize ul { 19 display: flex; 20 list-style: none; 21 padding: 0; 22 margin: 0; 23 border: 1px solid gray; 24 border-radius: 5px; 25} 26.fontsize li + li { 27 border-left: 1px solid gray; 28} 29 30/* input_elements */ 31.input_elements { 32 height: 22px; 33 margin-top: 28px; 34 box-sizing: border-box; 35} 36 37/* login */ 38.login { 39 width: 150px; 40 line-height: 50px; 41 text-align: center; 42 background-color: #4B88CA; 43 color: white; 44 border-radius: 5px; 45} 46

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Flexbox ならば、align-items: flex-end;で下辺に揃います。

css

1header { 2 display: flex; 3 align-items: flex-end; /*追加*/ 4 height: 50px; 5}

投稿2020/03/15 13:11

hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stsyco

2020/03/19 08:16

返答遅くなり申し訳ございません。 回答頂き誠に有り難うございました。 目的の動作が出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問