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

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

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

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

2回答

1042閲覧

BootStrapでcolの要素の間にmarginをつけると開業される減少を防ぎたい

umigame_Rails

総合スコア66

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2022/06/18 04:29

こんにちは
BootStrapを使ってレスポンシブデザインをしています
colで指定した各要素にmarginをつけると改行されてしまいます
col-4を指定しているのですが画像の用になります
イメージ説明
画面を広げてみてもずっと2つずつの表示になります
どうすれば改行せずしっかりcol-4の状態を保てますか?

HTML

1<div class='row'> 2 <% @users.each do |user| %> 3 <div class='userCard col-sm-4'> 4 <div> 5 <% if user.avatar? %> 6 <%= image_tag user.avatar.url %> 7 <% else %> 8 <img src="/assets/default.png" class="icon" alt="ユーザーアイコン" %> 9 <% end %> 10 </div> 11 <div> 12 <%= link_to user_path(user) do %> 13 <%= user.username %> 14 <% end %> 15 </div> 16 </div> 17 18 <% end %> 19 20 </div>

CSS

1.userCard{ 2 /*width: 250px;*/ 3 background-color: #fff; 4 box-shadow: 5px 5px 5px rgba(0,0,0,0.5); 5 padding: 30px; 6 margin-top: 20px; 7 margin-left: 5px; 8 text-align: center; 9}

試したこと

colをつけた要素にwidth:250px:のようにをつけると解決するがpx指定はしたくないです

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

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

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

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

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

guest

回答2

0

詳しく回答ありがとうございます!
あまり併用しないほうがいいのですね
勉強になりました!

投稿2022/06/18 12:11

umigame_Rails

総合スコア66

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

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

0

ベストアンサー

カラム(col)に左右マージンを付けたら、その分幅が広くなりますので、改行してしまいます。
カラムはいじらずに、カラム内の要素をdivで囲んでそれに余白や影をつけることになると思います。

html

1<div class='row'> 2 <% @users.each do |user| %> 3 <div class='userCard col-sm-4'> 4 <div> 5 <div> 6 <% if user.avatar? %> 7 <%= image_tag user.avatar.url %> 8 <% else %> 9 <img src="/assets/default.png" class="icon" alt="ユーザーアイコン" %> 10 <% end %> 11 </div> 12 <div> 13 <%= link_to user_path(user) do %> 14 <%= user.username %> 15 <% end %> 16 </div> 17 </div> 18 </div> 19 <% end %> 20 </div>

css

1.userCard{ 2 /*width: 250px;*/ 3 margin-top: 20px; 4 text-align: center; 5} 6.userCard > div { 7 box-shadow: 5px 5px 5px rgba(0,0,0,0.5); 8}

ちなみに、カラム(col)にすでにpaddingで余白がついているので、特に.userCard > divにマージンをつける必要は特にないとおもいます。


あるいは、BootStrapのシャドウを使えば独自CSSは不要になります。

Shadows(シャドウ) · Bootstrap v5.0

html

1<div class='row'> 2 <% @users.each do |user| %> 3 <div class='userCard col-sm-4'> 4 <div class="shadow"> 5 <div> 6 <% if user.avatar? %> 7 <%= image_tag user.avatar.url %> 8 <% else %> 9 <img src="/assets/default.png" class="icon" alt="ユーザーアイコン" %> 10 <% end %> 11 </div> 12 <div> 13 <%= link_to user_path(user) do %> 14 <%= user.username %> 15 <% end %> 16 </div> 17 </div> 18 </div> 19 <% end %> 20 </div>

BootStrapで独自CSSを使うと、BootStrapのCSS設定とぶつかってレイアウト等に悪影響を与えたり、デザインの統一性がなくなったりするので、その辺は慎重にしたほうがいいでしょう。

投稿2022/06/18 09:12

hatena19

総合スコア33715

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問