しばらくの間私を悩ませているこの質問があります。レスポンシブ画像に関するチュートリアルやQ&Aはたくさんありますが、適切なものは見つかりませんでした。ポートレート画像のサイズを、それらが含まれているコインテイナーの幅まで伸びないようにする方法を説明できます。
私が持っているもの:
私はWordPressを使用しており、スクリプトを使用して画像の幅と高さを削除します。
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );
function remove_thumbnail_dimensions( $html ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
次に、添付ファイルをdivに配置するスクリプトを追加します(スタイリングの目的でのみ)。
add_filter('image_send_to_editor', 'wrap_my_div', 10, 8);
function wrap_my_div($html, $id, $caption, $title, $align, $url, $size, $alt){
return '<div class="post-attachment">'.$html.'</div>';
}
そしてCSS:
img {
width: 100%;
}
.post-attachment {
width: 80%;
margin: 0 auto;
}
これは風景画像に非常に効果的で、モバイルでも見栄えがします。しかし、100%コンテナの幅に合わせて拡大縮小しないように、縦長の画像を保持するにはどうすればよいでしょうか。幅を100%と宣言し、一部の画像を100%の幅ではなく、100%の高さにしたい場合は、その種の奇妙なことを知っています。
CSSの方法がない場合は、誰かがjqueryプラグイン(またはWPプラグインを使用したくないのですが)を提案してくれるかもしれません。または掘り下げるためのいくつかのリンク?
ありがとうございました。