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

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

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

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

HTML

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

CSS

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

Q&A

解決済

2回答

1011閲覧

Bootstrap4で画像をグリッドレイアウトで配置したい

sshino

総合スコア16

Bootstrap

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/05/05 06:37

###Bootstrap4で画像をグリッドレイアウトで配置したい
Bootstrap4でサイトの模写練習をしています。
イメージ説明
画像1枚目の右のようなデザインのリンクを作成したいのですが、、、

Bootstrap

1<div class="container"> 2 <div class="row"> 3 <div class="col-2 p-4 mb-5"> 4 <img class="img-fluid" src="img/70B85DA3-C8C1-45AA-B241-0E298F20234C_4_5005_c.jpeg"> 5 </div> 6 <div class="col-10 p-4 mb-5 bg-success">box</div> 7 </div> 8 </div>

このようにコードをかいたところ画像のようにうまくいきません。
元サイトを参考に、と思いデベロッパーツールを覗いてみたところ
イメージ説明
なにやらデータ属性なるものを使っているらしいのですが、調べてみてもいまいち使用方法がわかりませんでした。
このようなデザインをBootstrapで再現するのは不可能なのでしょうか?
また、データ属性とはどのような時に使うものなのでしょうか?
回答お願いします。

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

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

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

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

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

m.ts10806

2020/05/05 06:40

そもそもグリッドレイアウトについては基本を理解したうえで進められていますか? 設定値を見ると、足りてないように思います。 >データ属性とは 本件とは別問題では?
sshino

2020/05/05 06:58

基本は理解したつもりでした。 抜けている箇所を教えていただけると有り難いです。 データ属性に関しては、デベロッパーツールを見てこのレイアウトを作るために必要だと思っていました。スルーしてもらっても構いません。 お手数をおかけしますが回答よろしくお願いします。
m.ts10806

2020/05/05 07:09

横幅100%を12分割するので、同じ階層(pやmbなどの指定のこと)で足して12になってないと前後のレイアウトの関係で崩れることがあります。
sshino

2020/05/05 08:28

pやmの設定は0から5までの段階で記述することで、フレームワーク内の決められたpやmbを当てはめてくれるものであり、12分割というのはcol-xのxの部分の値の合計が12であればよいという認識は間違っているのでしょうか?
guest

回答2

0

親要素の正方形で、子要素の画像 (長方形) をトリミングしたいのなら、
「object-fit」というプロパティが使えそうです。

子要素の画像に以下のように指定してみてください

CSS

1/* CSSセレクタいまいちなので、適宜設定してください */ 2.col-2.p-4 { 3 background: #f00; 4 padding: 0 !important; 5} 6/* 画像に「object-fit: cover;」を指定 */ 7.col-2.p-4 img { 8 object-fit: cover; 9}

もしかしたら、画像サイズが小さいと中央に小さく表示されるかもしれませんので、
まずは大きめの画像で試してください。

参考:
https://developer.mozilla.org/ja/docs/Web/CSS/object-fit


このようなデザインをBootstrapで再現するのは不可能なのでしょうか?

あらゆるCSSフレームワークは、CSSの上書きによってフレームワークを使っていないときと同じように見た目を実装できます。なので不可能ではないです (面倒になることはよくありますが)。

CSSセレクタの詳細度をフレームワークよりも上げてみたり、
フレームワーク側のCSSを確認して「!important」があれば上書きする側でも追加する、
などすれば実現できます。


また、データ属性とはどのような時に使うものなのでしょうか?

「data-xxxx」というような属性は、ソースコードを書く人が好きなように指定して、好きなようにCSSやJavaScriptで使う、という用途で使われます。

「data-xxxx」があると見た目がこうなる、というわけではありません。

投稿2020/05/05 07:05

編集2020/05/05 07:18
new1ro

総合スコア4528

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

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

0

自己解決

カードの親のdivをaタグにすれば解決しました。

投稿2020/05/08 02:40

sshino

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問