ラインheigh複数行のテキストが画像を中心又は中心を用いる方法
垂直整列中間のインラインブロック要素に包まれたテキストは、外側の要素は、高さラインheighに等しいです
図1は、<DIVクラス=「BOX1」> 2 <スパン>複数の行がテストを中心に複数のラインを複数のラインがテスト複数の中心線の複数のラインの複数のラインの複数のラインの複数のラインの複数のラインの複数の試験中心テストを中心にテスト中心テストを中心にテスト中心テストを中心にテストを中心マルチラインをテストするテスト中心線の中心線は、多中心</スパン> 3 </ div>
1 .box1 { 2背景色:#CCC。 3幅:300ピクセル; 4高さ:300ピクセル。 5マージン:100pxに自動; 6行の高さ:300ピクセル。 7} 8 .box1スパン{ 9表示:インラインブロック。 10行の高さ:20ピクセル。 ;中央:垂直アライン11 12}
画像をセンター:
1 <DIV CLASS = "BOX1"> 2 <IMG SRC = "共通ヘッダlogo.png"> 3 </ div>
1 .box1 { 2背景色:#CCC。 3幅:300ピクセル; 4高さ:300ピクセル。 5マージン:100pxに自動; 6行の高さ:300ピクセル。 7テキスト整列:センター。
フォントサイズ:0; 8} 9 .box1のIMG { 10垂直整列:中央; 11}
効果:
方法2:真ん中を達成するために使用するFlexレイアウト(より簡単に、IE9をサポートしていません)
HTMLは次の通り:
<DIV CLASS = "ボックス"> の<span>複数行が<BR>は、複数の行が複数行にまたがる<BR>テストテストテストセンターを中心にまたがる中心スパン</スパン> <P> P段落要素をさらに</ P> </ DIV>
CSSは次のよう:
.box{ display: flex; width: 500px; height: 300px; margin: 50px auto; border: 2px solid #000; align-items: center;/*副轴居中*/ } .box span{/*span是另一个flex布局容器,它本身将自适应填满除p元素外的宽度*/ flex: 1; display: flex; justify-content: center;/*主轴居中*/ }
方法三:使用绝对定位使图片居中
css-使不同大小的图片在固定大小的容器中居中
HTML示例如下:
<ul> <li class="imgbox"><img src="img1.jpg"></li> <li class="imgbox"><img src="img2.jpg"></li> <li class="imgbox"><img src="img3.jpg"></li> <li class="imgbox"><img src="img4.jpg"></li> <li class="imgbox"><img src="img5.jpg"></li> <li class="imgbox"><img src="img6.jpg"></li> <li class="imgbox"><img src="img7.png"></li> </ul>
方法一:
.imgbox{ position: relative; width: 240px; height: 240px; } .imgbox img{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; max-width: 100%; max-height: 100%; outline: 1px solid #000; }
说明:imgbox为放置图片的容器,高度和宽度可以设置为任意需要的大小,容器中的图片为绝对定位,使用top-bottom-left-right-margin使其居中。使用max-width和max-height使图片比容器大时也能正常显示。
方法二:
.imgbox{ font-size: 0; width: 240px; height: 240px; line-height: 240px; text-align: center; } .imgbox img{ max-height: 100%; max-width: 100%; vertical-align: middle; outline: 1px solid #000; }
说明:对容器设置font-size:0,消除img下多出的3px,防止居中出现偏差。outline可有可无,我是为了清晰显示图片位置才声明的outline。
效果图:(最后两个图片width/height大于容器,均能正常显示)
HTML示例如下:
<ul> <li class="imgbox"><img src="img1.jpg"></li> <li class="imgbox"><img src="img2.jpg"></li> <li class="imgbox"><img src="img3.jpg"></li> <li class="imgbox"><img src="img4.jpg"></li> <li class="imgbox"><img src="img5.jpg"></li> <li class="imgbox"><img src="img6.jpg"></li> <li class="imgbox"><img src="img7.png"></li> </ul>
方法一:
.imgbox{ position: relative; width: 240px; height: 240px; } .imgbox img{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; max-width: 100%; max-height: 100%; outline: 1px solid #000; }
说明:imgbox为放置图片的容器,高度和宽度可以设置为任意需要的大小,容器中的图片为绝对定位,使用top-bottom-left-right-margin使其居中。使用max-width和max-height使图片比容器大时也能正常显示。
方法二:
.imgbox { フォントサイズ:0。 幅:240ピクセル; 高さ:240ピクセル; 行の高さ:240ピクセル; テキスト整列:センター; } .imgboxのIMG { 最大高さ:100%。 最大幅:100%; 垂直整列:中央; 概要:1pxの固体#000; }
説明:setコンテナフォントサイズ:0、IMGは、中心ずれを防止するために、余分3pxを排除します。概説不要、私は明らかに輪郭線画像の位置が宣言された示すことでした。
図影響:(幅/高さの最後の2枚の画像がコンテナよりも大きい)を正しく表示することができます