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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

Q&A

解決済

3回答

2604閲覧

レスポンシブデザインにおける画像と文字の重ね合わせ

revoiot

総合スコア188

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

HTML

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

CSS

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

0グッド

0クリップ

投稿2017/03/22 04:34

編集2017/03/22 05:21

レスポンシブ対応のwebsiteを作ろうとしているのですが、分からないことが出てきたため、質問させていただきます。

下記の画像を見てもらえば、分かるとは思うのですが、上側のフォームの中に「ここに文章を入れます」を入れたいのですが、なぜか重ね合わすことができず困っています。

websiteで調べた結果、絶対位置、相対位置を利用したposition:absolute;,position:relative;が画像を文字を重ね合わせるのよいとありましたが、拡大表示した際、ずれてしまいます。

websiteのみの対応であればこの方法を用いても良いとは思うのでが、今回私はレスポンシブ対応にしたいため、この方法はベターではないと思いました。

拡大表示しても、ずれることがなく、画像と文字を一定の位置にキープするにはどうれば良いでしょうか?

大変恐縮ですが、お分かりになる方、ご回答いただけると幸いです。

よろしくお願いします。

念のため、ここに私のwebsiteのURLを添付させていただきます。
websiteのURL

イメージ説明

HTML

<header> <ul> <li><a href="#"><img src="box img/header/header-left.gif" class="header-left" alt=""></a></li> <li><a href="#"><img src="box img/header/header-right.gif" class="header-right" alt="" align="right"></a></li> <li><a href="#"><img src="box img/header/logo.gif" class="logo" alt=""></a></li> <li><a href="#"><img src="box img/header/header-1.gif" class="header-1" alt=""></a></li> <li><a href="#"><img src="box img/header/header-2.gif" class="header-2" alt=""></a></li> <li><a href="#"><img src="box img/header/header-3.gif" class="header-3" alt=""></a></li> <li><a href="#"><img src="box img/header/header-4.gif" class="header-4" alt=""></a></li> </ul> <div style="text-align: center;"> <img src="box img/header/header-5.gif" class="header-5" alt=""> <div style="text-align: center;", "margin-top: -5em;"> <input id="text1" name="text1" type="text" placeholder="ここに文章を入れます。"> </div> </div> </header>

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

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

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

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

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

guest

回答3

0

ベストアンサー

制作中でコードがまだ整理されていなのだと思いますが、
まずは、ソーシャルのアイコン(LINE、Facebook等)と、入力ボックスはエリアを、
socialBox searchBoxのように分けてから考えてみましょう

HTML

1<div class="socialBox"> 2<ul> 3 <li><a href=""><img src="" width="32" height="32" alt="LINE"></a></li> 4 <li><a href=""><img src="" width="32" height="32" alt="Instagram"></a></li> 5 <li><a href=""><img src="" width="32" height="32" alt="Facebook"></a></li> 6 <li><a href=""><img src="" width="32" height="32" alt="Twitter"></a></li> 7</ul> 8</div> 9 10<div class="searchBox"> 11 <input type="text" name="" placeholder="ここに文章を入れます"> 12</div>

###解決法
今回の場合、重ねたい入力ボックス画像はただの角丸の四角だと思いますので、
あえて画像にする必要が無く、<input>へ角丸のCSSborder-radiusの追加で解決した方が、ズレる心配も無く安全かと思います。

CSS

1.searchBox { 2 text-align:center; 3} 4.searchBox input { 5 width:180px; 6 border:1px solid #ccc; 7 padding:10px; 8 border-radius:5px; 9 -webkit-border-radius:5px; 10 -moz-border-radius:5px; 11}

###おまけ
.socialBox部分のCSSもおまけ。

CSS

1 2.socialBox ul { 3 text-align:center; 4} 5.socialBox ul li { 6 display:inline-block; 7}

投稿2017/03/22 06:08

編集2017/03/22 06:14
iss

総合スコア506

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

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

revoiot

2017/03/22 06:23

ご親切にご回答ありがとうございます。 非常にわかりやすく、感動しました。前回に引き続きわかりやすい回答ありがとうございます。 知らなかった知識をたくさん得ることができました。
guest

0

前の質問と何が変わったかがいまいちわかりにくいですが、前回の質問で私が提示した方法はそういう意図ではなく、「画像と重ね合わせせずにinput要素をスタイリングすればいいのに」ということです。


提示した方法もそのまま使えば問題ないはずなのですが・・・。

HTML

1<div style="text-align: center;", "margin-top: -5em;"> 2```ではなく 3```HTML 4<div style="text-align: center; margin-top: -5em;">

投稿2017/03/22 06:01

kei344

総合スコア69364

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

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

0

マイナスマージンで位置を合わせているようですが、

CSS

1margin-top: -5em;

単位emは1文字分の大きさ、という意味ですので、レスポンシブでサイズを合わせるには不向きです。
relativeな要素でラッピングしてコンテナボックスを作った上で絶対配置し、top:xx%のような形で調整した方がいいかと思います。

投稿2017/03/22 06:15

Lhankor_Mhy

総合スコア35865

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問