🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSS

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

Q&A

解決済

2回答

890閲覧

要素からはみ出る画像のズレを修正する

sun-chan

総合スコア10

CSS

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

0グッド

0クリップ

投稿2021/03/09 07:58

「自分のもの」
イメージ説明

このように、ピンクの大きな要素の中から「写真」がそれぞれはみ出てしまっています。写真の要素を、ピンクの枠の中に収める事はできないでしょうか?
解決策をご提示していただけると嬉しいです。
以下のコードは、「自分のもの」の写真のうち、左端のチューブだけについてのコードです。

HTML

1<div id="Series-65" class="products-item swiper-slide-duplicate" > 2 <a href="#"> 3 <p class="products-item-update">UPDATE</p> 4 <figure class="products-item-img"> 5 <!--これがはみ出る写真その1--> 6 <img src="edol_sum-1.jpg"> 7 </figure> 8 <div class="products-item-head"> 9 <h3 class="products-item-ttl">edol</h3> 10 <ul class="products-item-category u-display-pc"> 11 <li>COLOR</li> 12 <li>HAIR COLOR</ii> 13 </ul> 14 </div> 15 <p class="products-item-txt"> 16 「赤み」に縛られない自在なクリエイティブを表現するヘアカラーシリーズ 17 </p> 18 <!-- 19 <ul class="products-item-category u-display-sp"> 20 <li>COLOR</li> 21 <li>HAIR CARE</li> 22 </ul> 23 --> 24 </a> 25 </div>

CSS

1.products-item { 2 width: 340px; 3 margin: 0 40px; 4} 5 6 7 8.products-item { 9 position: relative; 10 flex: 0 0 auto; 11 background-color: pink; 12} 13 14.products-item-img { 15 width: 100%; 16 width: 340px; 17 overflow: hidden; 18} 19 20.products-item-img img { 21 width: 100%; 22 max-width: none; 23 transition: transform .9s cubic-bezier(.19,1,.22,1) 24} 25 26.products-item-head { 27 margin-top: 20px; 28 display: flex; 29 justify-content: space-between; 30 align-items: center; 31} 32 33.products-item-ttl { 34 font-size: 10px; 35 font-family: StoneSansITCPro-Medium,Avenir,sans-serif; 36 line-height: 1.4 37} 38 39 40 41.products-item-category { 42 display: flex; 43 flex-wrap: wrap; 44} 45 46.products-item-txt { 47 font-size: 10px; 48}

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

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

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

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

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

guest

回答2

0

ベストアンサー

コードが部分的なので、これで解消するかどうかわかりませんが

css

1figure { 2 margin: 0; 3}

これで解消しないでしょうか。

現在画像の左側に余白ができているのは、ブラウザのデフォルトの余白だと思うので
figureタグをセレクタとして余白リセットしておくのが良いと思います。

[CSS]ページのレイアウトで、意図せずできてしまった隙間の原因とその解決方法のまとめ

画像の左右に余白を付けたい場合は、.products-itembox-sizing: border-box;かけたうえでpadding設定してみてください。

投稿2021/03/09 08:13

編集2021/03/09 08:19
mai1210

総合スコア272

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

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

sun-chan

2021/03/10 01:42

ブラウザのデフォルトの余白があるのは知らなかったです。 無事に修正できました。今後もこれを利用していきます。 記事も添付してくださりありがとうございました!
mai1210

2021/03/10 02:13 編集

chromeの場合になりますが、デベロッパーツールで要素を確認した時に ・斜体がかかっていて ・css名のところに「user agent stylesheet」と記載されている(自分で読み込んでいるCSSではない) ものは、ブラウザ側が勝手に付けているスタイルです。(やっかいなことにブラウザによって異なります) 毎回打ち消しても良いですが、リセットCSSとして最初に一旦タグごとリセットしておくと楽です。 ブラウザのデフォルトスタイルを一気に消し込んでくれるリセットCSSがたくさん公開されているので、公開されているものをそのまま使うも良し、自分のサイトに必要そうな部分だけ持ってくるも良し、です。
guest

0

画像をfigureタグで囲んでますが、そのブラウザデフォルトのマージンのせいでずれてます。
これを打ち消せばいいでしょう。

css

1.products-item-img { 2 width: 100%; 3 width: 340px; 4 overflow: hidden; 5 margin: 0; /* 追加 */ 6}

投稿2021/03/09 08:13

hatena19

総合スコア34073

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

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

sun-chan

2021/03/10 01:40

marginを0にしたところ、無事解決できました! 教えて頂きありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問