How to vertical-align an alternate text within a floated image?

被刻印的时光 ゝ 提交于 2019-12-01 05:18:49

问题


Having tried some of the solutions relating to vertical align, I don't seem to be able to solve this. Not sure if anyone can help me on this. All I want is to position the alternate text in the middle of an empty image.

This is the html code:

<div class="viewport">
 <a href="#">
  <img src="http://yahoo.com/" alt="no image" />
 </a>
 <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
 </div>
</div>

And this is the css code:

.viewport {
 background: #bbb;
 width: 350px;
 height: 300px;
 padding: 5px;
}

.viewport img {
 float: left;
 margin: 5px;
 width: 100px;
 height: 100px;
 background: #000;
 text-align: center;
}

.viewport div {
 margin-left: 20px;
}

Thanks for taking your time to read.


回答1:


edit 2017: Flexbox FTW (probably with a both as a flex item (its container having default vertical/second axis align-items: stretch) and a flex container (vertical alignment is then achieved with flex-direction:column and justify-content: whatisneeded)

I believe @alt has the height of its content, far less than 100px.

By fixing a line-height equal to height, vetical-align will do what you intend it to do.
Here is a fiddle: http://jsfiddle.net/PhilippeVay/Xevph/




回答2:


no you cant do that. But you can change the color and display properties like

img[alt]{
color:red;
 display:none;
}


Here is a cool tip, first check if file exist i-e the image you are loading is avaialble or not if not then show up a div with the alt attribute text in that DIV.



来源:https://stackoverflow.com/questions/9554365/how-to-vertical-align-an-alternate-text-within-a-floated-image

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!