我有一个由<ul>
组成的菜单。每个<li>
都有一个<a>
,并且每个<a>
都有一个图像和一个标签。 将图像悬停(javascript)更改为更大的图像,因此图像的大小无济于事。我想在菜单项的中间垂直对齐图像。在这里你有代码:如何在div中垂直对齐未知大小的图像
<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'。 – Giberno
这不是一个asp问题,而是一个HTML/CSS问题。你会粘贴一些在浏览器中生成的代码吗?最好是你在jsfiddle中创建一个例子 – HerrSerker
@HerrSerker - 我认为只要还有asp控件参与,我也会把asp写成一个标签...知道asp的人可能也知道这些类型的东西...我没有写WPF,因为它与WPF无关,但是使用asp它有一些事情要做(因此
bokkie