视图中的html和erb排列有问题

时间:2011-07-04 05:47:25

标签: html ruby-on-rails css

我有这段代码

<span> <%= image_tag("machinelogo.jpg", :alt => "camp",:class=>"logo") %></span>

<ul id="css3menu1" class="topmenu">
<li class="topfirst"><a href="#" title="Home" style="height:18px;line- height:18px;">Home</a></li>
<li class="topmenu"><a href="#" title="Profile" style="height:18px;line-height:18px;"><span>Profile</span></a>
<ul>
    <li><a href="#" title="Edit Profile ">Edit Profile </a></li>
    <li><a href="#" title="View profile">View profile</a></li>
</ul>
</li>
<li class="toplast"><a href="#" title="Account" style="height:18px;line- height:18px;"><span>Account</span></a>
<ul>
    <li><a href="#" title="Account settings">Account settings</a></li>
    <li><a href="#" title="Sign out">Sign out</a></li>
</ul>
</li>
   </ul>            

 <input type="text" class="searchfield" id="search" size="50"/>
 <button type="button" class="searchbutton"/>Search</button>

徽标类

  .logo{height:110px;width:120px;}

menu css

  ul#css3menu1,ul#css3menu1 ul{
margin:0;list-style:none;padding:0;border-width:1px;border-style:solid;border-     color:#5f5f5f;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}
  ul#css3menu1 ul{
display:none;position:absolute;left:0;top:100%;-moz-box-shadow:3.5px 3.5px 5px    #000000;-webkit-box-shadow:3.5px 3.5px 5px #000000;box-shadow:3.5px 3.5px 5px #000000;padding:0 10px 10px;background-color:#ffffff;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;border-color:#d4d4d4;}
   ul#css3menu1 li:hover>*{
display:block;}
    ul#css3menu1 li:hover{
position:relative;}
    ul#css3menu1 ul ul{
position:absolute;left:100%;top:0;}
     ul#css3menu1{
display:block;font-size:0;float:left;}
    ul#css3menu1 li{
display:block;white-space:nowrap;font-size:0;float:left;}
   ul#css3menu1>li,ul#css3menu1 li{
margin:0;}
   ul#css3menu1 a:active, ul#css3menu1 a:focus{
outline-style:none;}
  ul#css3menu1 a,ul#css3menu1 a.pressed{
display:block;vertical-align:middle;text-align:left;text-decoration:none;font:bold    12px Trebuchet MS;color:#ffffff;text-shadow:#FFF 0 0 1px;cursor:pointer;}
   ul#css3menu1 ul li{
float:none;margin:10px 0 0;}
   ul#css3menu1 ul a{
text-align:left;padding:4px;background-color:#ffffff;background-image:none;border-    width:0;border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;font:14px    Tahoma;color:#000000;text-decoration:none;}
     ul#css3menu1 li:hover>a{
background-color:#00a6cb;border-color:#C0C0C0;border-style:solid;font:bold 12px     Trebuchet MS;color:#000000;text-decoration:none;text-shadow:#FFF 0 0 1px;background-image:url("mainbk.png");background-position:0 100px;}
    ul#css3menu1 img{
border:none;vertical-align:middle;margin-right:10px;}
   ul#css3menu1 img.over{
display:none;}
   ul#css3menu1 li:hover > a img.def{
display:none;}
    ul#css3menu1 li:hover > a img.over{
display:inline;}
   ul#css3menu1 li a.pressed img.over{
display:inline;}
   ul#css3menu1 li a.pressed img.def{
display:none;}
    ul#css3menu1 span{
display:block;overflow:visible;background-position:right center;background-  repeat:no-repeat;padding-right:0px;}
    ul#css3menu1 a{
padding:10px;background-color:#07a7d8;background-   image:url("mainbk.png");background-repeat:repeat;background-position:0 0;border-width:0 0 0   1px;border-style:solid;border-color:#C0C0C0;color:#ffffff;text-decoration:none;text-  shadow:#FFF 0 0 1px;}
   ul#css3menu1 li:hover>a,ul#css3menu1 li>a.pressed{
background-color:#00a6cb;background-image:url("mainbk.png");background-position:0   100px;border-style:solid;border-color:#C0C0C0;color:#000000;text-decoration:none;text-  shadow:#FFF 0 0 1px;}
   ul#css3menu1 ul li:hover>a,ul#css3menu1 ul li>a.pressed{
background-color:#ffffff;background-image:none;font:14px Tahoma;color:#868686;text-decoration:none;}
   ul#css3menu1 li.topfirst>a{
border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px;-webkit-border-   radius:5px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;}
   ul#css3menu1 li.toplast>a{
border-radius:0 5px 5px 0;-moz-border-radius:0 5px 5px 0;-webkit-border-radius:0;-  webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;}    

但由于某种原因,徽标显示在菜单和搜索框之间而不是首先显示,可能是什么错误?提前谢谢

1 个答案:

答案 0 :(得分:1)

问题是菜单中的<li>元素浮动到左侧,徽标位于<span>内。 <span>是一个内联元素而不是一个块,因此<li>元素在通往左侧的路上向右浮动。如果您将徽标包裹在<div>display:block上设置<span>,则可以将您的作品放在正确的位置。

示例:http://jsfiddle.net/ambiguous/Ekra4/1/