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

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

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

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

CSS

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

Q&A

解決済

5回答

2086閲覧

またまたCSS(flexについて)

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

CSS

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

0グッド

0クリップ

投稿2017/12/31 02:45

編集2017/12/31 23:19

皆様お疲れ様です。毎回毎回貴重なアドバイス有難うございます。

あれから、色々とCSSプロパティを学習し、要素(ブロック)の右寄せや左寄せ、揃え方など、
なんとなくわかってきました。

<footer>内にあるメニュー(#fNav)を横並びにした途端に、その下にある(#copyright)が そのまま上に上がってきてしまい、footer内の一番下に寄せる(揃える)ことができません。 無理やりですが、以下の様にTOPをpaddingしてやれば出来ますが、ちょっと無理矢理感があり かっこ悪いですね。。。

なにか他の方法はありますでしょうか?

CSS

1#copyright{ 2 display: block; 3 padding-top: 80px; 4}

<CSS適用前>
イメージ説明

<CSS適用後>
イメージ説明

HTML

1<footer> 2 <div id="footer-left"> 3 <div id="footer-logo"> 4 <img src="img/footer_logo.png" alt="画像"> 5 </div> 6 7 <address id="address"> 8 〒111-111<br> 9 東京都新宿区●●●1-1-1 タワー60F<br> 10 TEL:0120-00-0000<br> 11 FAX:0120-00-0001<br> 12 MAIL:test@local.co.jp 13 </address> 14 </div> 15 16 <div id="footer-right"> 17 <nav id="fNav"> 18 <ul> 19 <li><a href="index1.html">ホーム</a></li> 20 <li><a href="business1.html">事業内容</a></li> 21 <li><a href="About1.html">会社概要</a></li> 22 <li><a href="contact.html">お問い合わせ</a></li> 23 </ul> 24 </nav> 25 26 <small id="copyright"> 27 Copyright (C) sample株式会社 28 ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 29 </small> 30 </div> 31 </footer>

CSS

1footer{ 2 border: solid 0.5px; 3 padding-top: 10px; 4 padding-bottom: 10px; 5 display: flex; /* 横並びに */ 6} 7 8#footer-left{ 9 width: 300px; 10} 11 12footer-right{ 13 width: 600px; 14 /*flex:1 1 auto;*/ 15} 16 17#fNav{ 18 border: solid 0.5px; 19} 20 21#fNav ul{ 22 display: flex; 23 justify-content: flex-end; 24} 25 26#fNav li{ 27 list-style-type: none; 28 padding-left: 10px; 29} 30 31#copyright{ 32 display: block; 33} 34

アドバイスいただきました通り、上記CSSのfooter-right内を修正してみましたが、
右に余計なスペースができてしまいました。。。

イメージ説明

とにかく、何をやっても上手く行かないです。。。
今日も1日これだけで終わるのかと思うと・・・もう、ノイローゼになりそうです。。。
アドバイス宜しくお願い致します。

宜しくお願い致します。


皆様アドバイス有難うございます。アドバイスを基に自分なりに色々調べてみましたが、
取り敢えず、強引な状態ですが、以下の様にしたら目的を達成できました。

イメージ説明

css

1footer{ 2 border: solid 0.5px; 3 padding-top: 10px; 4 padding-bottom: 10px; 5 display: flex; 6 width: 900px; 7} 8 9#footer-left{ 10 width: 300px; 11} 12 13#footer-right{ 14 border: solid 0.5px; 15 width: 600px; 16 display: flex; 17flex-direction: column; 18 19 20} 21 22#fNav{ 23 24} 25 26#fNav ul{ 27 display: flex; 28 justify-content: flex-end; 29} 30 31 32#fNav li{ 33 list-style-type: none; 34 padding-left: 10px; 35} 36 37 38#copyright{ 39 display: block; 40 text-align: right; 41 padding-top: 60px; /*無理やり下へ*/ 42}

まだまだ、要素の配置方法についてはアドバイスを頂きたいことが多々ありますが、
一旦、解決とさせていただきます。

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

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

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

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

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

guest

回答5

0

サンプル

css

1#footer-right{ // #が抜けていた 2 width: 600px; 3 display: flex; // 右側全体をFlexボックスにする 4 flex-direction: column; // 上下にする 5 justify-content: space-between; //両端に配置 6}

これで問題ないはずです。


footerの子要素をこんなふうにすると、左が広がります。

css

1#footer-left{ 2 width: 300px; 3 flex: 1; 4}

投稿2017/12/31 05:10

編集2017/12/31 10:00
KugaNaoyuki

総合スコア36

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

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

退会済みユーザー

退会済みユーザー

2017/12/31 07:17

回答有難うございます。 #footer-right内でも、さらにdisplay:flex;をする必要があるんですね。。。
退会済みユーザー

退会済みユーザー

2017/12/31 07:24

でも、#footer-right内の要素が右端に揃わない。。。。
KugaNaoyuki

2017/12/31 10:01

flexコンテナの子要素にflex:1;を足すと、それ以外が端によってくれますよ。
guest

0

ベストアンサー

上記質問内容の水平線以下をご確認下さい。

投稿2017/12/31 23:21

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

難しい。
<small id="copyright">があるところの親要素の

<div id="footer-right">に下寄せする「align-items: flex-end;」を加えるとメニューまで下がってしまう。 だから、別の方法で調べました。 まず、 ``` #footer-right{}にある「width: 600px;」を#fNav{}の中に移して、 #footer-right{}に「height: 60px;」を追加します。 ```

そうするとコピーライターがメニューの下に置き換わります。

それから、

#copyright{}の中にある「display: block;」を「display: flex;」に修正します。 更に「justify-content:flex-end;」と「flex-flow: column;で下寄せするようにしています。 左側のボックスの高さに合わせて「height:90px;」にしています。

それをまとめますと、下記のcssになります。

css

1footer{ 2 border: solid 0.5px; 3 padding-top: 10px; 4 padding-bottom: 10px; 5 display: flex; /* 横並びに */ 6} 7 8#footer-left{ 9 width: 300px; 10} 11 12#footer-right{ /* 先頭の「#」が抜けていますので、付け加えてください */ 13 height: 60px; 14} 15 16#fNav{ 17 width: 600px; 18 border: solid 0.5px; 19} 20 21#fNav ul{ 22 display: flex; 23 justify-content: flex-end; 24} 25 26#fNav li{ 27 list-style-type: none; 28 padding-left: 10px; 29} 30 31#copyright{ 32 display: flex; 33 justify-content:flex-end; 34 flex-flow: column; 35 height:90px; 36}

投稿2017/12/31 11:35

amaryllis

総合スコア179

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

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

guest

0

flexに関しては使わないのでわからないのですがこれだけでいいのでは?
ボックス右下寄せ(widthはあってもいいのですが幅が足りてない?)

css

1#footer-right{ 2 margin:auto 0 0 auto; 3 /*width: 600px; 4 flex:1 1 auto;*/ 5}

投稿2017/12/31 10:59

sousuke

総合スコア3828

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

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

0

footeralign-items: flex-end; を追加。

動くサンプル:https://jsfiddle.net/oas7op5v/


【CSS3 Flexbox の各プロパティの使い方をヴィジュアルで詳しく解説 | コリス】
http://coliss.com/articles/build-websites/operation/css/css3-flexbox-properties-by-scotch.html

【CSS3のFlexboxを基本から理解して、使い倒そう! | 株式会社LIG】
http://liginc.co.jp/web/html-css/css/21024

投稿2017/12/31 04:43

kei344

総合スコア69407

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

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

kei344

2017/12/31 05:15

ああ、#copyrightだけを下ですね。勘違いしていました。
kei344

2017/12/31 07:52

> もう、ノイローゼになりそうです。。。 楽しめないならやめればよいです。CSSはプログラマーによっては「とても難しい」といわれる方もおられます。入門書を何冊か買って読んで試してそれでも辛いなら外注するほうが良いです。楽しく生きましょう。 https://jsfiddle.net/oas7op5v/2/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問