gpt4 book ai didi

html - 将 CSS 获取到 "float: right"并垂直居中

转载 作者:太空狗 更新时间:2023-10-29 16:03:31 27 4
gpt4 key购买 nike

我在让一小段文本在图像旁边 float 时居中时遇到一些问题。

<html>
<head>
<style type="text/css">
img
{
float:right;
}
</style>
</head>
<body>
<p>In the paragraph below, we have added an image with style <b>float:right</b>. The result is that the image will float to the right in the paragraph.</p>
<div>
<img src="logocss.gif" width="95" height="84" />
<div style="position:relative; top: 20px;">
This
</div>
<div>
Other stuff...
</body>
</html>

(您可以将此代码复制并粘贴到 http://www.w3schools.com/CSS/tryit.asp?filename=trycss_float 中以查看实际效果。

我想要的是一种在该图像旁边 float 时使文本垂直居中的方法。也不要弄乱后面的文字。 (如您所见,“其他内容...”位于“此”之上)

我更喜欢纯 CSS 方法(或者可能重组 div 等),因为这只是一个显示问题的示例。它所使用的应用程序非常复杂,将其全部放入表中需要大量工作,而且可能看起来不正确。

更新

好的,我已经删除了显示我遇到的问题的 asp.net 生成页面的一部分。我意识到代码很丑陋并道歉。由机器生成

<html>
<head>
<style type="text/css">
img
{
float:right;
}
</style>
</head>
<body>
<p>In the paragraph below, we have added an image with style <b>float:right</b>. The result is that the image will float to the right in the paragraph.</p>
<div>
<table>
<tr>
<td>
<div style="line-height:84px;">
<img src="logocss.gif" width="95" height="84" />
<span>This </span>
</div>
</td>
</tr>
</table>
Other stuff...
<br>
<br>
Actual application:
<br>
<div style="width:300px;">
<div style="width:300px;">
<input type="hidden"/>
<table border="0" style="border-collapse:collapse;border-spacing:1px;">
<tr>
<td style="width:250px;"><div style="line-height: 50px;">
<input type="image" title="Calculate Field" src="logocss.gif" style="border-width:0px;float: right;" /><span style="display:inline-block;color:Black;width:250px;">Email</span>
</div></td><td style="width:350px;"><table border="0">
<tr>
<td><input style="background-color:White;height:100%;width:300px;" /></td><td style="width:300px;"></td></tr></table></td><td style="width:300px;"></td>
</tr><tr style="height:0px;">
<td></td><td colspan="2" style="width:300px;"><span style="display:inline-block;height:0px;width:300px;"></span></td>
</tr>
</table>
</div>
</div>
</body>
</html>

抱歉代码太长,但它是我的问题的一个有效示例。我做了行高技巧,但它似乎在这里没有效果。基本上我想要的是让编辑控件在图像中间垂直居中(这很容易因为有表格)并且“电子邮件”文本在图像中间垂直居中。虽然在这种安排下我无法让它工作。我究竟做错了什么?

最佳答案

这个呢? (注意行高值等于图像的高度):

<html>
<head>
<style type="text/css">
img
{
float:right;
}
</style>
</head>
<body>
<p>In the paragraph below, we have added an image with style <b>float:right</b>. The result is that the image will float to the right in the paragraph.</p>
<div>
<div style="text-align:right;line-height:84px;">
<img src="logocss.gif" width="95" height="84" />
This
</div>

Other stuff...
</body>
</html>

更新:

考虑到更新后的代码,我想到了这个:

<div style="width:300px;">
<div style="width:300px;">
<input type="hidden"/>
<table border="0" style="border-collapse:collapse;border-spacing:1px;">
<tr>
<td style="width:250px;"><div style="line-height: 84px; width:250px; text-align:right;">
<input type="image" title="Calculate Field" src="logocss.gif" style="border-width:0px;float: right;" />Email
</div></td><td style="width:350px;"><table border="0">
<tr>
<td><input style="background-color:White;height:100%;width:300px;" /></td><td style="width:300px;"></td></tr></table></td><td style="width:300px;"></td>
</tr><tr style="height:0px;">
<td></td><td colspan="2" style="width:300px;"><span style="display:inline-block;height:0px;width:300px;"></span></td>
</tr>
</table>
</div>
</div>

我并不是说这是最好的方法,但我尽量不对您的代码进行过多修改。在我看来,您不需要将文本换行。

如果您想坚持使用表格,请尝试查看 td 元素的 valign="middle"属性:http://www.w3schools.com/TAGS/att_td_valign.asp但是如果你想这样做,你必须将图像与文本分开并将它们放在不同的 tds 中。

关于html - 将 CSS 获取到 "float: right"并垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com