Css 相对于父对象的位置';父母

Css 相对于父对象的位置';父母,css,css-position,Css,Css Position,我有一个CSS菜单,像这样的 <ul> <li><img src="...">Menu item</li> <li><img src="...">Menu item2</li> </ul> 问题是图像是的子对象,它不是的全宽,因此位置:相对;左:0px与li相关,而与ul相关 如何相对于ul定位图像?一个简单的解决方案 ul#menu li ul li img { float

我有一个CSS菜单,像这样的

<ul>
    <li><img src="...">Menu item</li>
    <li><img src="...">Menu item2</li>
</ul>
问题是图像是
  • 的子对象,它不是
    的全宽,因此
    位置:相对;左:0px
    li
    相关,而与
    ul
    相关

    如何相对于
    ul
    定位图像?

    一个简单的解决方案

    ul#menu li ul li img {
        float: left;
        margin-top: 7px;
    }
    
    设定你的
    ul#菜单li ul li
    宽度至
    100%

    ul#menu li ul li {
        width: 100%; //Make sure you have a set px width somewhere else in the menu hierarchy
        position: relative;
        display: block;
        background-color: #fff;
        border-top: solid 1px #808080;
    }
    
    然后将img设置为绝对值

    ul#menu li ul li img {
        position: absolute;
        left: 0px;
    }
    

    由于这些图像实际上不是内容的一部分,请从html中删除
    img
    元素,并在CSS中添加一行:

    ul#menu li ul li {
      background: url(/Content/images/nav/Left.png) 5px center no-repeat;
    }
    

    这会将箭头设置为背景图像,该图像始终距左边缘5px,并自动居中,即使菜单项跨越两行,其中有两行也是如此。

    谢谢,你说得对。。。它不是内容,也不属于html
    ul#menu li ul li {
      background: url(/Content/images/nav/Left.png) 5px center no-repeat;
    }