加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 垂直对齐图像和多行文本

发布时间:2020-12-14 21:24:34 所属栏目:资源 来源:网络整理
导读:我试图垂直对齐图像和文本: +-------------------------+ -- Viewport| Text text text | | +-----+ text text text | | |IMAGE| text text text | | +-----+ text text text | | text text text | +-------------------------+ 如果没有包装文本,这可以正
我试图垂直对齐图像和文本:
+-------------------------+ -- Viewport
|         Text text text  | 
| +-----+ text text text  | 
| |IMAGE| text text text  | 
| +-----+ text text text  | 
|         text text text  | 
+-------------------------+ 

如果没有包装文本,这可以正常工作。如果Text比视口宽度宽,则它不再起作用。我认为这是由设置display:inline-block引起的:

<a href="#">
    <img style="display: inline-block; vertical-align: middle; margin-right: 8px;" src="images/arrow_black.png" /> 
    <span style="display: inline-block; vertical-align: middle;">
        Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonum eirmod tempor invidunt ut labore et dolore 
    </span>
</a>

结果:

+---------------------------------------------------------------------+ -- Viewport
|                                                                     |                                                            
| +-----+                                                             | 
| |IMAGE| text text text text text text text text text text text text | 
| +-----+                                                             |                                                           
|                                                                     | 
+---------------------------------------------------------------------+ 

+-------------------------+ -- Viewport
| +-----+ Text text text  | 
| |IMAGE| text text text  | 
| +-----+ text text text  | 
| text text text text     | 
+-------------------------+ 

如果我尝试浮动元素,图像将始终位于顶部,但不会垂直于文本中间的垂直方向:

<a href="#">
        <img style="display: block; vertical-align: middle;  margin-right: 8px; float: left;" src="/images/arrow_black.png" /> 
        <span style="display: block; overflow: auto;"> 
            Lorem ipsum dolor sit amet,sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,no sea takimata sanctus est Lorem ipsum dolor sit amet. 
        </span> 
    </a>

结果:

+-------------------------+ -- Viewport
| +-----+ Text text text  | 
| |IMAGE| text text text  | 
| +-----+ text text text  | 
|         text text text  | 
|         text text text  | 
|         text text text  | 
+-------------------------+ 

我已经看到了几个解决这个问题的方法,使用html-tables或css-tables(display:table和display:table-cell),但这不是一个选项,因为它必须适用于所有类型的浏览器(桌面和移动设备) )。

对此,我不知道任何尺寸。既不是图像也不是文本。所以我不能使用任何“margin-或padding-Solution”。

编辑:我已经创建了一个demo-fiddle(基于NGLN创建的一个,BTW:非常感谢!),它显示了我正在寻找的结果。但我尝试将这个存档而不使用display:table-cell …任何想法?

解决方法

你的意思是 this demo fiddle吗?

HTML:

<div id="viewport">
    <a href="#">
        <img src="images/arrow_black.png" alt="" />
        <span>Lorem ipsum dolor...</span>
    </a>
</div>

CSS:

#viewport {
    background: #bbb;
    width: 350px;
    padding: 5px;
    position: relative;
}
#viewport img {
    position: absolute;
    top: 50%;
    margin-top: -30px;  /* = image height div 2 */
}
#viewport span {
    margin-left: 68px;  /* = image width + 8 */
    display: block;    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读