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

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

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

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

CSS

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

Q&A

解決済

1回答

1812閲覧

CSS - 画像を回転させ、重ならないように横に並べる方法

tiitoi

総合スコア21956

HTML

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

CSS

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

0グッド

1クリップ

投稿2020/11/03 16:14

質問内容

数枚の画像の一部を270°回転させて並べたいのですが、以下の問題が起こっておりうまくいきません。

  1. li 要素を display: inline-block; で並べたが、要素の間に隙間が空く。marginpadding を0にしても直らない。
  2. 回転した画像が他の画像と重なってしまう。
  3. 画像を下端に揃えたい。現状では中央で揃っている。

イメージ説明

いろいろ調べてはみたものの解決できないので、わかる方いましたら教えて下さい。
よろしくおねがいします。

環境

  • Chrome 86

ソースコード

html

1<!DOCTYPE html> 2 3<head> 4 <link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.css" rel="stylesheet"> 5 <style> 6 .Block { 7 display: inline-block; 8 padding: 10; 9 } 10 11 .Block li { 12 display: inline-block; 13 vertical-align: bottom; 14 margin: 0; 15 padding: 0; 16 } 17 18 .Rotated { 19 transform: rotate(270deg); 20 } 21 </style> 22</head> 23 24<body> 25 <div class="Blocks"> 26 <ul class="Block"> 27 <li><img src="./tile.png" class="Rotated" /></li> 28 <li><img src="./tile.png" /></li> 29 <li><img src="./tile.png" /></li> 30 </ul> 31 32 <ul class="Block"> 33 <li><img src="./tile.png" /></li> 34 <li><img src="./tile.png" class="Rotated" /></li> 35 <li><img src="./tile.png" /></li> 36 </ul> 37 </div> 38</body> 39 40</html>

イメージ説明
使用画像 (tile.png)

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

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

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

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

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

guest

回答1

0

ベストアンサー

重なってしまっている部分は画像の 高さ - 幅 が必要ですので、
画像の大きさが動的に変わるような場合には別途処理が必要かと思いますが、
以下のcssでイメージ図のようになるとは思います。

css

1ul { 2 /*隙間を無くす*/ 3 font-size:0; 4} 5 6.Block { 7 display: inline-block; 8 padding: 10; 9} 10 11.Block li { 12 display: inline-block; 13 vertical-align: bottom; 14 margin: 0; 15 padding: 0; 16} 17 18.Rotated { 19 /*画像の高さと幅の差分だけずらす*/ 20 margin-left : 24px; 21 /*右下を起点に回転させて移動*/ 22 transform-Origin: bottom right; 23 transform: rotate(270deg) translate(100%); 24}

投稿2020/11/04 02:51

mar-kn

総合スコア306

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

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

tiitoi

2020/11/04 04:20

希望通りの出力結果になりました。ありがとうございます。 回転した部分の幅、高さは元の画像のままになっているので、CSS のほうで調整してあげる必要があったのですね。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問