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

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

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

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

Q&A

解決済

2回答

431閲覧

レスポンシブな段組みで右端のアイコンだけ固定したい

Marbow

総合スコア55

CSS3

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

0グッド

1クリップ

投稿2017/08/16 05:41

とあるテーブルをいくつかのブロックに分けて、横幅にゆとりがある場合段組みになるようにしたいのですが、テーブルの右横に設置したアイコンが段組みが変わってもついてくるようにしたいです。

…と文字で書いてもわかりにくいですね。

イメージ説明

このようにTableAとTableBはレスポンシブに段組みをかえつつ、iconはTableAとTableBを一塊とした右肩にくっついてほしいのです。

そこで、

<div style="white-space:nowrap;"> <div style="white-space:normal;"> <table style="display:inline-block;"> (TableAの中身) </table> <table style="display:inline-block;"> (TableBの中身) </table> </div> <img src="icon.jpg"> </div>

みたいにしたらいい感じかな、と思ったのですが、ブラウザを縮めていくと、TableAとTableBは縦に並ぶものの、iconがTableから離れたうえに右端に少しはみ出るようになってしまいます。

どんなCSSを書いてあげれば期待したレイアウトにできるのか、識者の方々、ぜひお知恵をお貸しください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

imgの階層を変えています。

HTML

1<div> 2 <div> 3 <table> 4 <tr><td>(TableAの中身)</td></tr> 5 </table> 6 <table> 7 <tr><td>(TableBの中身)</td></tr> 8 </table> 9 <img src="icon.jpg" /> 10 </div> 11</div>

CSS

1div div { 2 position: relative; 3 /* icon size */ 4 padding-right: 64px; 5} 6 7div div:after { 8 content: ''; 9 display: block; 10 clear: both; 11} 12 13table { 14 width: 25em; 15 height: 10em; 16 float: left; 17} 18 19img { 20 /* icon size */ 21 width: 64px; 22 height: 64px; 23 position: absolute; 24 top: 0; 25 left: auto; 26 right: auto; 27}

投稿2017/08/17 05:25

x_x

総合スコア13749

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

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

Marbow

2017/08/17 07:25

回答ありがとうございます。 カンペキでございます。 imgのcssで左右autoなのにどうしてちゃんとくっついてくるのかまだ理解できてませんが、希望通りの動作なのでOKです。 このへんは追々学習していこうと思います。 本当にありがとうございました。
guest

0

一番外のdiv

CSS

1#box { 2 position:relative; 3 padding-right:icon分px; 4}

imgに`

CSS

1#box img { 2 position:absolute; 3 right:0; 4 top:0; 5}

でいけませんか?

投稿2017/08/16 06:04

LibertyBell3

総合スコア1084

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

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

Marbow

2017/08/16 07:11

早速の回答ありがとうございます。 試してみましたが、iconが「ブラウザの」右肩にきれいにくっつきました。 残念ながら私の期待している動作とは少し違いました。 これはこれで別なシーンで使えると思うので、参考にさせていただきます。 ありがとうございました。
LibertyBell3

2017/08/16 08:26

あぁ、そういうことですか。 一番外のdivに、display:inline-block;でどうでしょう?
Marbow

2017/08/17 01:25

やってみましたが、初期状態とあまり変わらないようです。 2番目のdivに display:inline; とすることで、少し近づきました、というか、普通にBOXが3つ並んでるのと変わりなさそうです。 やはりJavascript(or jQuery)に頼った方がよいのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問