【发布时间】:2011-12-02 17:50:53
【问题描述】:
我有一个由<ul> 组成的菜单。每个<li> 内部都有一个<a>,每个<a> 都有一个图像和一个标签。
图像在悬停(javascript)上变为更大的图像,因此图像的大小没有帮助。我想在菜单项的中间垂直对齐图像。这里有代码:
<script type="text/javascript">
<!--
function changeImage(element, toReplace, withReplace) {
var str = document.getElementById(element).src;
document.getElementById(element).src = str.replace(toReplace, withReplace)
}
// -->
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Menu.ascx.cs" Inherits="UserControls_Menu" %>
<ul id="navmenu">
<li><a id="default" runat="server" href="~/Default.aspx" onmouseover="changeImage('sideBar_Menu1_Image7', 'Calendar24x24.png', 'Calendar32x32.png');"
onmouseout="changeImage('sideBar_Menu1_Image7', 'Calendar32x32.png', 'Calendar24x24.png');">
<div class="divImage">
<asp:Image ID="Image7" runat="server" ImageUrl="~/Images/Calendar24x24.png" />
</div>
<div class="divLabel">
<asp:Label ID="Label6" runat="server" Text="CALENDAR" meta:resourcekey="Label6Resource1"></asp:Label>
</div>
</a></li>
.divImage
{
width: 29px;
height: 29px;
float: left;
text-align: center;
vertical-align: middle;
}
.divLabel
{
float: left;
padding-top: 3px;
}
无论我做什么,垂直对齐都不起作用...我使事情起作用的唯一方法是使用表格,但是点击仅适用于图像,它也不适用于标签.. .我也试过不使用div,找不到方法
【问题讨论】:
-
一个建议,如果方便的话,你可以把你的图片做背景图,用图片位置控制图片的中心很方便
div。 -
这不是asp问题,而是HTML/CSS问题。你会粘贴一些在浏览器中生成的代码吗?最好是在 jsfiddle 中创建一个示例
-
@HerrSerker - 我以为只要也涉及到asp控件,我也会将asp写为标签...知道asp的人可能也知道这些东西...我没有'不要写 WPF,因为它与 WPF 无关,但与 asp 有关系(因此 <...>