コンテナの表示に関する質問があります。.divの動作を画像のようにする
まず、「object-fit:contains;」という属性をシミュレートしました。縦に並んだストラットと属性「text-align:center」(IEありがとう)を使用してイメージを作成します。
があり、それを参照してください: http://codepen.io/babybackart/pen/vGQeoK
HTML:
<body>
<div class="plancheBox">
<div class="strut"></div><!--
--><img src="http://images.forwallpaper.com/files/thumbs/preview/23/236747__kitten-soft-fluffy-tender_p.jpg">
</div>
</body>
CSS:私はイメージを置くように、画像にテキストを追加したい
body{
height: 100%;
width: 100%;
display: block;
text-align:center;
}
h1, h2{
font-family: Arial, sans serif;
font-weight: 300;
color: white;
}
.plancheBox{
background-color: green;
position: absolute;
display: block;
width: 90%;
height: 90%;
vertical-align: middle;
}
.strut {
height:100%;
display:inline-block;
vertical-align:middle;
}
.plancheBox img{
max-height: 100%;
max-width: 100%;
vertical-align:middle;
}
とブロック内のテキストボックス(テキストボックスは絶対的に画像の前に表示されます)。
そこを参照してください:http://codepen.io/babybackart/pen/BKGwZL
HTML:
<body>
<div class="plancheBox">
<div class="strut"></div><!--
--><div class="container">
<img src="http://eskipaper.com/images/photo-cat-1.jpg">
<div class="descriptionBox">
<h1>Joe le chat</h1>
<h2>Post haec Gallus Hierapolim profecturus ut expeditioni specie tenus adesset, Antiochensi plebi suppliciter obsecranti ut inediae dispelleret metum, quae per multas difficilisque causas adfore iam sperabatur.</h2>
</div>
</div>
</div>
</body>
はCSS:
body{
height: 100%;
width: 100%;
display: block;
text-align:center;
}
h1, h2{
font-family: Arial, sans serif;
font-weight: 300;
color: white;
}
.plancheBox{
background-color: green;
position: absolute;
display: block;
width: 90%;
height: 90%;
vertical-align: middle;
}
.strut {
height:100%;
display:inline-block;
vertical-align:middle;
}
.container{
max-height: 100%;
max-width: 100%;
display:inline-block;
vertical-align:middle;
}
.container img{
max-height: 100%;
max-width: 100%;
display:inline-block;
vertical-align:middle;
}
.descriptionBox{
background-color: blue;
position: absolute;
width: 60%;
margin: 0 20% 5% 20%;
bottom: 0;
}
問題は私の.div ".container" は作用しないということです最初の例での私のイメージのように、窓の高さが小さいときには底部にあふれています。
主な質問:最初の例のイメージのように ".container"を動作させる方法はありますか?
余分な質問:テキストボックスのサイズとサイズを画像のサイズで固定するにはどうすればよいですか?
お返事ありがとうございました!
は、あなたの答えのために非常に多くのSeika85ありがとう持つべき
position: absolute;
を持っているので、あなたのソリューションは画像のために機能します。 問題は、テキストボックスを修正するために画像と同じ時間にサイズ変更するコンテナが必要だったことです。 100%コンテナでは、テキストボックスを画像に固定することは不可能です。この解決策は、画像とテキストボックスにコンテナをまったく使用しないことと同等です。 (私は十分にはっきりしていることを願っています) – babybackartイメージラッパーを含むイメージラッパーが必要ですが、サイズに合わせてイメージに渡される親ディメンションも同時に反映されます。これは純粋なCSSでは不可能です。私は、この例で使用したようにJSを必要とします:https://jsfiddle.net/jpu8umd6/2/ – Seika85
私は矛盾しているように私の質問との闘いを理解しています... 私は実際にテキストボックスをそのコンテナの関数でサイズ変更される画像。たぶん、コンテナを使わずにJSを使ってイメージにテキストボックスを修正することができます。そのため、イメージは最初の例のようにオーバーフローせずに ".plancheBox"に収まるでしょうか? – babybackart