HTML、CSSの書き方について教えてください。
ブロック中に複数の画像を配置し、それらのアスペクト比を変えずに高さを揃えようとしています。
ベースとなるHTMLコードの例:
<div class="photos">
<img class="photo" src="xxx1.jpg">
<img class="photo" src="xxx2.jpg">
<img class="photo" src="xxx3.jpg">
</div>
やりたいこと:
要件1. <div>内の写真の数によって幅を固定させたい。
例:写真が3枚なら、1枚あたりの幅は3/画面幅。
要件2. <div>内の複数の写真を一番小さい高さの写真に揃えたい。
例:写真1の高さ200px、写真2の高さ250px、写真3の高さ100px
→写真1~3の高さを100pxとしたい。
要件3. 要件1と2を満たしつつ、画像のアスペクト比は変えたくない。
→幅をベースとして高さを動的にトリミングしたい。
読み込んだポストによって幅や高さが変わるので、
css+JavaScriptというよりはHTMLタグに属性を直に書いてできると良い。
(<div style="xxxxx">とか<img style="yyyy">とか。)
clip:rect()でできるのかもしれないのですが、座標の扱い(position:absolute;)とかがよくわからないです…。
なお、HTML内にて各画像の高さを取得する必要はありません。既に取得済の情報を使います。
何か良い案はありますでしょうか?
No.2ベストアンサー
- 回答日時:
>このようにすれば画像は切れますがアスペクト比は維持されると考えています。
いえ、アスペクト比とは画像の縦横比のことですから、トリミングしたらダメなのです。
200(W)×400(H),600×200,300×300
→300(W)×600(H),300×100,300×300 アスペクト比を変えずに300(W)で統一した場合
200(W)×400(H),600×200,300×300
→150(W)×300(H),900×300,300×300 アスペクト比を変えずに300(H)で統一した場合
です。
No.1
- 回答日時:
>HTML内にて各画像の高さを取得する必要はありません。
の意味がわかりません。
用件が矛盾しています。
画面幅900で、200(W)×400(H),600×200,300×300とすると、ひとつの画像の幅は300になります。すると、それぞれの画像は300×600,300×100,300×300になります。アスペクト比を変えずに、高さを100にすると、50×100,300×100,100×100になります。これは要件1に反します。
ポストとありますが、これがformで送信されてくるデータでしたら、CGIでimageMagick(perlMagick)をつかって、一度に送信された画像数にあわせて、規定の画像サイズの枠を決め、その枠に収まるようにアスペクト比を変えないように拡大・縮小して、残りの部分は背景で埋める・・・などの処理をしてサムネイルを作ります。
また、画像の一辺の長さを決めて他の辺の長さをautoにするとアスペクト比を固定して伸縮できます。
この回答への補足
要件が矛盾しているとのこと、情報が足りずに申し訳ありませんでした。
アスペクト比を変えずに、「トリミング」して表示したいのです。
画面幅900で、200(W)×400(H),600×200,300×300とすると、
幅が300、高さがそれぞれ600,100,300となり、一番背が低いものは100となります。
この時、100を超える高さを持つ画像を高さ100の範囲で「トリミング」して画像を表示させたいのです。
(高さ600の画像を高さ100でトリミング=高さ500分を表示させない。)
このようにすれば画像は切れますがアスペクト比は維持されると考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
同じ画像 複数回使用
-
IMGタグで画像の繰り返し使用は…
-
【Webサイト】画像が小さく表示...
-
画像の上に文字を乗せたい!
-
lightbox2で画像を天地左右中央...
-
ページごとに背景画像を変更し...
-
HP作成で1×1ピクセルの画像の...
-
塗りつぶした画像を透過させな...
-
Gifのまわりに白い線ができる
-
ロゴマークだけを抜き取って貼...
-
PDFの保存ボタンが表示されません
-
イラストレータに配置すると透...
-
イラレで背景を透明にするやり...
-
photoshopで作った画像をillust...
-
透過背景画像のビットマップ形...
-
電子印鑑の作りかた
-
tifファイルが表示されない
-
gimpで文字の細工をしたい
-
リンク先ページのサムネイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
IMGタグで画像の繰り返し使用は…
-
【Webサイト】画像が小さく表示...
-
lightbox2で画像を天地左右中央...
-
画像の上にテキスト配置で、拡...
-
【至急お助け!】チェックボッ...
-
画像とその下にあるテキストの...
-
background-repeat CSS で切れ...
-
同じ画像 複数回使用
-
background-sizeの背景で最小値...
-
要素の幅をいろんな写真の幅に...
-
LightBoxの矢印の出し方
-
iframe内をクリックさせない方...
-
htmlかcssで背景の白い枠をなく...
-
background-sizeでcontainする...
-
画像上に文字を表示するとiPhon...
-
ページごとに背景画像を変更し...
-
ブラウザによって、画面表示の...
-
背景画像が半分しか表示されない
-
gif画像でたまに背景がグレーに...
おすすめ情報