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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML

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

CSS

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

Q&A

解決済

3回答

11952閲覧

フォーム部品の高さが合わない

workr

総合スコア158

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML

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

CSS

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

0グッド

1クリップ

投稿2017/05/31 10:05

CSS で input や button の外観を調整してすべての高さを揃えようとしています。
フォントサイズや line-height を揃えれば height を指定しなくても高さは揃うと考えていたのですがブラウザによって解釈がバラバラです。

Safari
Safari

Firefox
Firefox

Chrome
Chrome

Chrome が理想に近いですが上に赤い線が見えてしまっていたりボタンがやや小さいようです。上下の赤い部分が完全に隠れるのが目的とする形です。

何かをリセットしていけばこれらの差はなくなるのでしょうか?
あるいは height を指定しない限り合わせることはできないのでしょうか。
よろしくお願いします。

html

1 <form> 2 <div class="group"> 3 <input type="text"><input type="search"><button type="submit">Submit</button> 4 </div> 5 </form>

css

1 body { 2 box-sizing: border-box; 3 padding: 0; 4 background: gray; 5 } 6 7 *, 8 *:before, 9 *:after { 10 box-sizing: inherit; 11 } 12 13 input, button { 14 vertical-align: baseline; 15 } 16 17 [type="text"], 18 [type="search"] { 19 -webkit-appearance: none; 20 margin: 0; 21 padding: 5px 10px; 22 line-height: 1; 23 background: #eee; 24 border: 1px solid #ccc; 25 outline: none; 26 } 27 28 [type="submit"], 29 button { 30 -webkit-appearance: none; 31 border: 1px solid #ccc; 32 margin: 0; 33 padding: 5px 10px; 34 overflow:visible; 35 line-height: 1; 36 } 37 38 .group { 39 background-color: crimson; 40 padding: 0 15px; 41 margin: 15px; 42 }

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

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

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

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

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

guest

回答3

0

ベストアンサー

リセットのためのCSSをつかうとか、appearance: none; を試してみるとかどうでしょう。

【CSSリセットはこれで決まり!モダンブラウザによる相違を吸収するようカスタマイズされたスタイルシート -ress | コリス】
http://coliss.com/articles/build-websites/operation/css/modern-css-reset-ress.html

【フォーム周りで覚えておくと便利なCSS Snippets | NxWorld】
http://www.nxworld.net/tips/15-useful-css-snippets-in-form-style.html

投稿2017/05/31 10:45

kei344

総合スコア69398

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

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

0

環境による違いを吸収するのは大変なので、外枠を使って、実際の各要素の高さはズレているけど見た目だけは高さが合っているように見せるっていう方法がおすすめです。

css

1 body { 2 box-sizing: border-box; 3 padding: 0; 4 background: gray; 5 } 6 .group{ 7 display:table; 8 } 9 .input_wrap,.button_wrap{ 10 display:table-cell; 11 overflow:hidden; 12 } 13 .input_wrap{ 14 background:#fff; 15 } 16 .input_wrap:first-child{ 17 border-right:1px solid #ccc; 18 } 19 .button_wrap{ 20 background:#33c; 21 } 22 input{ 23 background:#fff; 24 border:none; 25 padding:5px; 26 } 27 button{ 28 background:#33c; 29 border:none; 30 padding:5px; 31 }

html

1 <form> 2 <div class="group"> 3 <div class="input_wrap"> 4 <input type="text"> 5 </div> 6 <div class="input_wrap"> 7 <input type="search"> 8 </div> 9 <div class="button_wrap"> 10 <button type="submit">Submit</button> 11 </div> 12 </div> 13 </form>

投稿2017/05/31 16:22

oskbt

総合スコア1895

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

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

0

マルチブラウザ対応するならやはりCSSリセットは必須に思います。
2016年で最もダウンロードされたリセットCSSランキングトップ5

色々と細かいところもあるのでいっそマルチブラウザ・レスポンシブ対応のCSSフレームワークも重宝しますね。多少学習コストはかかりますが。

投稿2017/05/31 10:59

m.ts10806

総合スコア80842

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問