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

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

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

これはCSSのfloatプロパティのタグです。指定された要素を左または右に寄せて配置する際に使用します。

Q&A

解決済

3回答

2051閲覧

floatでの横並びについて

退会済みユーザー

退会済みユーザー

総合スコア0

float(CSS)

これはCSSのfloatプロパティのタグです。指定された要素を左または右に寄せて配置する際に使用します。

0グッド

1クリップ

投稿2015/12/11 04:10

編集2015/12/11 08:45

コーディング初心者です。

とても初歩的なことではございますが、質問させていただきます。

背景画像の上にボタンを2つ横並びにしたいのですが、
ローカルでは思うようにできているのですが、
サーバーにアップして確認するとうまく表示されません。

背景画像とボタンの画像は両方とも表示はされています。

ただ・・・
floatをかけているにもかかわらずボタンが横並びになっておらず、
縦方向に並んでしまいます。

ちなみに2つのボタンは背景画像の右側に寄せて、横並びにしたいと思っています。

ネットで検索して調べては修正をして・・・と繰り返してみたのですが、
色々と変更しすぎて、clearfixの記載場所もここでよいのかわからなくなってきました。

【「btn01」、「btn02」をbackgroundの上で横並びにさせたいです。】

何卒ご教示の程宜しくお願い致します。

html

<div class="clearfix box" style="background:url(img/btn_bg.jpg) no-repeat center" > <div class="btn01 clearfix"> <p><a href="" target="_blank" ><img src="img/btn01.jpg" alt="" width="162" height="48" /></a></p> </div> <div class="btn02"> <p><a href="" target="_blank"><img src="img/btn02.jpg" alt="" width="144" height="50" /></a></p> </div> </div> <div class="close"> <p class="mt20 mb30"><a href="#" onClick="window.close(); return false;">閉じる</a></p> </div>

css

.box{
height:130px;
width:900px;
margin:auto;
}

.btn01{
width:162px;
height:48px;
float:right;
margin-top:40px;
margin-right:80px;
}

.btn02{
width:144px;
height:50px;
float:right;
margin-top:40px;
margin-right:20px;
}

.box:after {
display: block;
clear: both;
content: "";
}

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

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

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

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

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

guest

回答3

0

ベストアンサー

ソース拝見しました。
<div class="clearfix box" style="background:url(img/btn_bg.jpg) no-repeat center" >については問題ありませんが、<div class="btn01 clearfix">の指定は間違っています。

簡単なソースを作ったので、一度頭をリセットして参考にしてみてください。

lang

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <style> 6 .clearfix{zoom:1;} 7 .clearfix:after{content:"";display: block;clear: both;height: 0;visibility:hidden;} 8 .background{ 9 background-color:#CCC; 10 padding:30px; 11 } 12 .btn{ 13 float:left; 14 width:50%; 15 padding:10px 0; 16 background-color:#EEE; 17 text-align: center; 18 } 19 .red{ 20 background-color:#FF0000; 21 } 22 </style> 23 </head> 24 <body> 25 <section class="background clearfix"> 26 <div class="btn"> 27 <a href="#">ボタン1</a> 28 </div> 29 <div class="btn red"> 30 <a href="#">ボタン2</a> 31 </div> 32 </section> 33 </body> 34</html>

左右のボックスを追記

lang

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <style> 6 .clearfix{zoom:1;} 7 .clearfix:after{content:"";display: block;clear: both;height: 0;visibility:hidden;} 8 .left_box{ 9 float:left; 10 width:50%; 11 background-color:#CCC; 12 } 13 .right_box{ 14 float:left; 15 width:50%; 16 background-color:#999; 17 } 18 .btn{ 19 float:left; 20 width:45%; 21 padding:5% 0; 22 background-color:#EEE; 23 text-align: center; 24 } 25 .red{ 26 background-color:#FF0000; 27 } 28 </style> 29 </head> 30 <body> 31 <div class="clearfix"> 32 <section class="left_box"> 33 <p>レフトボックス</p> 34 </section> 35 <section class="right_box clearfix"> 36 <p>ライトボックス</p> 37 <div class="btn"> 38 <a href="#">ボタン1</a> 39 </div> 40 <div class="btn red"> 41 <a href="#">ボタン2</a> 42 </div> 43 </section> 44 </div> 45 </body> 46</html>

投稿2015/12/11 09:07

編集2015/12/14 02:54
junkboy

総合スコア45

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

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

退会済みユーザー

退会済みユーザー

2015/12/11 10:31 編集

ご回答ありがとうございます。 ソースまでいただき、ありがとうございます! こちらを参考にやり直してみましたら無事に横並びにできました! ただ、ボタン二つを、画面の半分から右側に配置したく、 width:50%のところを修正してmarginで整えようとするとうまくいきません。 大変恐縮なのですが、ご教示いただけませんでしょうか。 ---------------------- 追記 無事に思っていたようなボタン配置にできました! ただ、相変わらず、サーバーにアップしたところ、同じ現象がでてしまいました。 コーディングミスでしょうか。 私が書いたものは下記の通りです。 HTML <section class="background clearfix"> <div class="btn01"> <a href="#">ボタン1</a> </div> <div class="btn02"> <a href="#">ボタン2</a> </div> </section> CSS .clearfix{zoom:1;} .clearfix:after{ content:""; display: block; clear: both; height: 0; visibility:hidden; } .background{ width:900px; height:130px; margin:auto; } .btn01{ float:left; margin-left:460px; margin-top:40px; } .btn02{ float:left; margin-left:20px; margin-top:40px;
junkboy

2015/12/11 23:20

私が書いたソースをサーバーにアップすると、どうなりますか。 同じような現象が発生するのであれば、コーディングが原因の可能性は低いと思います。 どうしてそのような現象が発生するのかについては、実際に見てみないとなんとも言いがたいです。
退会済みユーザー

退会済みユーザー

2015/12/14 00:59

ご回答ありがとうございます。 junkboyさんが書いてくださったソースそのままですと、 backgroundの上に、ボタンが二つwidth:50%の位置(右側、左側)にある状態です。
junkboy

2015/12/14 01:12

>ボタンが二つwidth:50%の位置(右側、左側)にある状態です。 というのは、左右にボタンが並んでいる(やりたいことと一致している)状態という認識でよかったですか。 だとすれば、CSSは正常に読み込まれていると思いますので、CSS以外の別の要因が原因の可能性が高いように思います。 ※Dahliaさんが書いたソースを試していないのでわかりませんが、ボタンに指定している横幅や、余白などが影響して、ボタンが横並びにならない可能性もあります。
退会済みユーザー

退会済みユーザー

2015/12/14 01:29 編集

説明不足で申し訳ございません。 junkboyさんの指定では、私が置きたいボタンの位置とは違いましたので、 marginで自分なりに変更したところ、うまくいかないという状況です。 本当は、画面の右半分に2つのボタンを横並びにしたいです。 現状、ボタンは横並びにできたけれども、位置が違うというところに苦戦しています。 ----------------- 追記 backgroundはwidth:900pxとっていまして、 ボタンの余白などは、ボタン本体と合わせて900px以下でした。
junkboy

2015/12/14 02:56

↑に左右ボックスを追加したソースを追記しましたので、確認してみてください。 これ以上説明するのが難しいため、float、余白(margin/padding)、width(横幅)について、もう少し知識を得て、いろいろ自分で試すのが良いと思います。 これで、〆とさせて下さい。
退会済みユーザー

退会済みユーザー

2015/12/14 03:31 編集

junkboyさん! ご丁寧にありがとうございました!色々とまた試してみます!
junkboy

2015/12/17 06:18

頑張ってください(・∀・)b
guest

0

ローカルにはあるのに、サーバ上にはない、何かのファイルのアップロードが足りていないと言ったことはありませんか?
絶対パスと相対パスになっているとか。
それか、ローカルで確認した時と違う環境で見ていたりしませんか?

投稿2015/12/11 08:04

編集2015/12/11 08:08
jojo3

総合スコア117

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

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

退会済みユーザー

退会済みユーザー

2015/12/11 08:37 編集

ご回答ありがとうございます。 ローカル時と同じ環境で確認しております。 画像自体は全て表示されております。 ボタン画像は表示はされているのですが、横並びにならず、 縦並びになってしまっています。 何らかの原因でfloatが効いていないのではないかと思っています。
guest

0

ローカル環境で動いているなら、本番環境の時にcssをアップする場所や、HTML上でcssを読み込むパスを間違えているのではないでしょうか?

投稿2015/12/11 04:16

7hikolin

総合スコア124

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

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

退会済みユーザー

退会済みユーザー

2015/12/11 05:09

ご回答ありがとうございます。 ページ内の他の部分は表示できており、 floatのところだけ、ボタンが横並びではなく中央に縦並びになってしまうという状況です。 個人的には、ここの部分のコーディングに問題があるのかと思っているのですが・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問