私は、メディア クエリを使用して DOM 要素をアドホックに動的に変更することにかなり慣れてきました。ただし、私の知る限り、これらはウィンドウ/デバイスの幅/高さのみを検出でき、個々の DOM 要素は検出できません。要素のサイズに基づいて要素のコンテンツを再配置およびサイズ変更する CSS を作成できるようにしたいと考えています。例えば:
╒══════════════════════════════╕
│Browser Window │
├──────────────────────────────┤
│ ┌──────────────────────────┐ │
│ │.resizingParent │ │
│ │┌──────┐ Some caption text│ │
│ ││ IMG │ directly relating│ │
│ ││ │ to the image. │ │
│ │└──────┘ │ │
│ └──────────────────────────┘ │
│ │
└──────────────────────────────┘
╒══════════════════════════════╕
│Browser Window │
├──────────────────────────────┤
│ ┌───────────────┐ │
│ │.resizingParent│ │
│ │┌─────────────┐│ │
│ ││ ││ │
│ ││ I M G ││ │
│ ││ ││ │
│ ││ ││ │
│ │└─────────────┘│ │
│ │Some caption │ │
│ │directly │ │
│ │relating to the│ │
│ │image. │ │
│ └───────────────┘ │
│ │
└──────────────────────────────┘
以下の(無効な)コードのようなメディアクエリを使用するのと同じくらい簡単なソリューションになることを願っています。
<STYLE>
.resizingParent>IMG {
display: inline-block;
width: 25%;
}
.resizingParent(max-width:10em)>IMG {
display: block;
width: 100%;
}
</STYLE>
<DIV CLASS=".resizingParent">
.resizingParent
<IMG SRC="IMG.png" ALT="IMG"/>
Some caption text directly relating to the image
</DIV>