【问题标题】:CSS list menu rollover padding / marginCSS列表菜单翻转填充/边距
【发布时间】:2011-03-20 19:49:50
【问题描述】:

我想知道是否有人可以帮助我解决 css / html 问题。

我有一个复杂的背景图片。菜单 div 位于正确的位置,以覆盖要定位的背景。整个 LI 有一个悬停翻转图像,显示类型为块。结果是,当鼠标悬停在列表 href 上时,整个块翻转工作..

但是,当我尝试添加填充以在列表项文本及其边框之间创建缓冲区时,就会出现问题。事情开始变得有趣......我将添加一个屏幕截图.. 移动它需要填充从边境。

存在第二个问题,即我无法在不应用行高的情况下将文本向中间倾斜。该解决方案在项目换行之前效果很好。我需要能够换行菜单项文本。

以下示例显示了当前 CSS/HTML 的状态。菜单栏和翻转按预期就位。修改我不能将图像放置在此处以限制以新人身份发布.. 但是可以在 213.40.100.100 / example1.jpg 找到该示例

以下示例显示了添加填充或边距时的状态。 LI 似乎完全转移了,没有移动内部文本..

213.40.100.100 / example2.jpg

 <div id="wrapper">      
  <div
  id="header">Header</div>      <div
  id="menu">
     <ul>
       <li><a>Contact Us</a></li>
       <li><a>Recommends</a></li>
       <li><a>Deals</a></li>
       <li><a>Home</a></li>
     </ul>      </div>      <div id="content">Content</div>      
  <div id="footer">Footer</div>  
</div>




 @charset "utf-8"; /* CSS Document */



 * {  margin: 0;  padding: 0; }

 body {  
padding-top: 10px;
  background: url(background.jpg) no-repeat center top;  height:100%; 
}

 div#wrapper {  
margin: auto;  
height: 100%;  
width: 978px;
  min-width: 978px;
 }

 div#header { 
 height: 196px;
 }

 div#menu { 
 height: 69px; 
 position:
 relative; 
}

 div#menu ul { 
 height: 69px;

  list-style-type: none; 
}

 div#menu ul li { 
 display: block;  

  height: 69px; 
 width: 140px; 
 float: right; 
 padding: 5px; 
}

 div#menu ul li a:hover {
  display:block;
  background:url(menu_red_bg.jpg) repeat-x;  height: 69px;  color:#FF0;
  font-family: Arial, Helvetica, sans-serif; 
 font-size: large; 
}

 div#menu ul li a { 
 text-decoration: none; 
 color:#000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: large;
 }

 div#content {  margin-top: 80px; }

【问题讨论】:

  • 你能把你的图片上传到某个地方吗?该链接不起作用,我认为这张照片确实有助于直观地了解到底出了什么问题。

标签: html css html-lists


【解决方案1】:

我认为您将填充添加到错误的元素。 或者你给&lt;li&gt;添加一个“边距”或者你给div#menu添加一个填充

我应该这样做:

带有黄色渐变背景的 div#menu,具有 5px 的内边距和边距:80px 0 0 0; 在这个 div 里面,&lt;ul&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt; 您不需要为 li 添加任何填充或边距,只需确保每个 li 的高度小于div#menu heigh + padding。

【讨论】:

  • 我正在使用 li :hover css 元素对黄色条的整个高度进行翻转。同样由于黄色条周围的阴影,我不得不将它包含在背景图像中实际页面而不是菜单元素..
  • 您可以使用阴影,即使它位于菜单元素中。只需使用具有透明度的 png 图像,IE6 有一个不支持透明度的修复程序。但即便如此,想法是一样的,使用 li 元素的边距,只要确保菜单栏高度等于 li 高度 + 总填充。
猜你喜欢
  • 2014-12-22
  • 2012-09-07
  • 2015-08-06
  • 1970-01-01
  • 2011-11-24
  • 2014-03-24
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多