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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

2回答

2819閲覧

平行四辺形に画像をトリミングしたい。

jam27

総合スコア4

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

0グッド

0クリップ

投稿2022/01/11 09:00

前提・実現したいこと

真ん中の画像を平行四辺形にトリミングしたいです。
イメージ説明

発生している問題・エラーメッセージ

片方の辺しか斜めにトリミングできない。

該当のソースコード

html

1<div class="section__flex-img"> 2 <div class="box section__img1"><img src="assets/images/sample/nantoshi21PAR519902088_TP_V4.jpg" alt="" class="img1"></div> 3 <div class="box section__img2"><img src="assets/images/sample/nekocatIMGL58991984_TP_V4.jpg" alt="" class="img2"></div> 4 <div class="box section__img3"><img src="assets/images/sample/nekocatPAR585052408_TP_V4.jpg" alt="" class="img3"></div> 5 </div>

css

1.box { 2 overflow: hidden; 3} 4.img1, .img2, .img3 { 5 width: 154px; 6 height: 193px; 7 object-fit: cover; 8} 9.section__flex-img { 10 display: flex; 11 justify-content: center; 12} 13.section__img1 { 14 transform: skewX(-12deg); 15 transform-origin: right; 16} 17.img1 { 18 transform: skewX(12deg); 19 transform-origin: top right; 20} 21.section__img2 { 22 transform: skewX(-12deg); 23} 24.img2 { 25 transform: skewX(12deg); 26} 27.section__img3 { 28 transform: skewX(-12deg); 29 transform-origin: top; 30} 31.img3 { 32 transform: skewX(12deg); 33 transform-origin: bottom left; 34}

試したこと

・transform-originを使ってtop right bottom left全ての方向を入れたが実現出来なかった。
・skewをY軸に変更してみたが、左右の画像とトリミングが異なってしまう。

補足情報(FW/ツールのバージョンなど)

DreamWeber最新版を使用しています。

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

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

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

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

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

Lhankor_Mhy

2022/01/11 09:25

画像エディタでそういう画像を作った方が早そう(開発時にも閲覧時にも)ですが、なにか事情がありますか?
jam27

2022/01/11 09:41

コメントありがとうございます。 公開後、簡単に画像の差し変わりすることも視野に入れているためです。
Lhankor_Mhy

2022/01/11 09:42

では、yambejpさんのご回答の通りだと思います。
jam27

2022/01/11 09:47

申し訳ございません。コーディングで実現させることを目標としています。
Lhankor_Mhy

2022/01/11 10:18

コーディングで実現できると思いますが、なにか問題が起きていますか?
Lhankor_Mhy

2022/01/11 10:18

SVGのコードを書くのがイヤ、とかそういうことですか?
jam27

2022/01/11 10:27

申し訳ございません。SVGがよくわかりません。
guest

回答2

0

ベストアンサー

CSSのclip-pathで切り抜いて、ネガティブマージンで重ねたらどうでしょう。
clip-pathのジェネレータを使えば簡単にコードを生成できます。

Clippy — CSS clip-path maker

css

1.box { 2 overflow: hidden; 3 width: 154px; 4 height: 193px; 5} 6.img1, .img2, .img3 { 7 width: 100%; 8 height: 100%; 9 object-fit: cover; 10} 11.section__flex-img { 12 display: flex; 13 justify-content: center; 14} 15.section__img2 { 16 clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%); 17 width: 200px; 18 margin: 0 -50px; 19 z-index:10; 20}

CodePenサンプル

投稿2022/01/11 12:29

編集2022/01/11 12:34
hatena19

総合スコア34075

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

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

jam27

2022/01/16 07:21

ありがとうございます!できました!
guest

0

トリミングの意図がわかりませんがSVGでマスクして表示すればよいでしょう

投稿2022/01/11 09:20

yambejp

総合スコア116724

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

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

jam27

2022/01/11 09:45

申し訳ございません。 コーディングで実現できる方法を求めております。 よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問