简体   繁体   English

ul在容器中的IE7 CSS问题

[英]IE7 CSS issue with a ul in a container

I'm not that good at debugging IE, because... well because I hate it and want nothing to do with it >_< 我不太擅长调试IE,因为...好吧,因为我讨厌它,并且不希望与它无关> _ <

Anyway... I'm creating this treeview plugin and everything looks great... 无论如何...我正在创建这个treeview插件,一切看起来都很好...

But, for some reason , it looks totally messed up in IE7, and IE7 only (don't know about IE6 etc, but seriously, screw that piece of #%/"#). 但是, 由于某种原因 ,它在IE7和IE7中看起来完全是混乱的(不了解IE6等,但是认真地,把那#%/“#拧紧了)。

看起来像这样,一块“%(!¤IE ... .

Does anyone know how to fix it or why it's behaving this way? 有人知道如何修复它,或者为什么会这样吗?

Here's the generated html & css example 这是生成的html&css示例


CSS 的CSS

body{
    margin: 0px;
    padding: 0px;
}

.vbc-treeview{
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    padding-left: 10px;
    padding-top: 0px;
    overflow: auto;

    width: 200px;
    height: 200px;

    border: 1px solid #828790;
    margin: 5px;

}

.vbc-treeview ul{
    list-style-type: none;
    margin: 0px;
    margin-left: 20px;
    margin-top: 0px;
    padding: 0px;
    position: relative;
}

.vbc-treeview ul:first-child{
    margin-left: 10px;
}

.vbc-treeview li{
    position: relative;
}

.vbc-treeview li:first-child{
    padding-top: 0px !important;
}

.vbc-treeview li a{
    text-decoration: none;
    color: black;
    display: block;
    cursor: default;
    line-height: 16px;
}

.vbc-treeview .tv-sibling{
    position: absolute;
    background-color: transparent;
    background: url(http://img813.imageshack.us/img813/1664/connector.png);
}

.vbc-treeview .tv-sibling-horizontal{
    left: -12px;
    top: 8px;
    background-repeat: repeat-x;
    height: 1px;
    width: 8px;
    z-index: 0;
}

.vbc-treeview .tv-sibling-vertical{
    left: -14px;
    top: 0px;
    background-repeat: repeat-y;
    height: 100%;
    width: 1px;
    z-index: 0;
}

.vbc-treeview .tv-sibling-first{
    top: 8px;
}

.vbc-treeview .tv-collapse{
    position: absolute;
    background: url(http://img825.imageshack.us/img825/2134/collapser.png) no-repeat center;
    width: 9px;
    height: 9px;
    left: -18px;
    top: 4px;
    z-index: 1;
}

.vbc-treeview .tv-expanded{
    background-position: 0px 0px;
}

.vbc-treeview .tv-collapsed{
    background-position: -10px 0px;
}

HTML 的HTML

<div class="tree vbc-treeview">
    <ul>
        <div class="tv-sibling tv-sibling-vertical tv-sibling-first" style="height: 609px;"></div>
        <li class="tv-expanded">
            <div class="tv-collapse tv-expanded"></div>
            <div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node 0,2</a>
            <ul>
                <div class="tv-sibling tv-sibling-vertical" style="height: 41px;"></div>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,2,0</a>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,2,1</a>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,2,2</a>
                </li>
            </ul>
        </li>
        <li class="tv-expanded">
            <div class="tv-collapse tv-expanded"></div>
            <div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node0</a>
            <ul>
                <div class="tv-sibling tv-sibling-vertical" style="height: 249px;"></div>
                <li class="tv-expanded">
                    <div class="tv-collapse tv-expanded"></div>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,0</a>
                    <ul>
                        <div class="tv-sibling tv-sibling-vertical" style="height: 121px;"></div>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,0</a></li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,1</a></li>
                        <li class="tv-expanded">
                            <div class="tv-collapse tv-expanded"></div>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,2</a>
                            <ul>
                                <div class="tv-sibling tv-sibling-vertical" style="height: 57px;"></div>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 0,2,0</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 0,2,1</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 0,2,2</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 0,2,3</a>
                                </li>
                            </ul>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,3</a>
                        </li>
                    </ul>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,1</a>
                </li>
                <li class="tv-expanded">
                    <div class="tv-collapse tv-expanded"></div>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,2</a>
                    <ul>
                        <div class="tv-sibling tv-sibling-vertical" style="height: 57px;"></div>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,2,0</a>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,2,1</a>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,2,2</a>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 0,2,3</a>
                        </li>
                    </ul>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 0,3</a>
                </li>
            </ul>
        </li>
        <li class="tv-expanded"><div class="tv-collapse tv-expanded"></div><div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node1</a>
            <ul><div class="tv-sibling tv-sibling-vertical" style="height: 25px;"></div>
                <li><div class="tv-sibling tv-sibling-horizontal"></div><a href="#">Node 1,0</a></li>
                <li><div class="tv-sibling tv-sibling-horizontal"></div><a href="#">Node 1,1</a></li>
            </ul>
        </li>
        <li>
            <div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node2</a>
        </li>
        <li class="tv-expanded">
            <div class="tv-collapse tv-expanded"></div>
            <div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node3</a>
            <ul>
                <div class="tv-sibling tv-sibling-vertical" style="height: 185px;"></div>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 3,0</a>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 3,1</a>
                </li>
                <li class="tv-expanded">
                    <div class="tv-collapse tv-expanded"></div>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 3,2</a>
                    <ul>
                        <div class="tv-sibling tv-sibling-vertical" style="height: 121px;"></div>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 3,2,0</a>
                        </li>
                        <li class="tv-expanded">
                            <div class="tv-collapse tv-expanded"></div>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 3,2,1</a>
                            <ul>
                                <div class="tv-sibling tv-sibling-vertical" style="height: 57px;"></div>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 3,2,1,0</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 3,2,1,1</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 3,2,1,2</a>
                                </li>
                                <li>
                                    <div class="tv-sibling tv-sibling-horizontal"></div>
                                    <a href="#">Node 3,2,1,3</a>
                                </li>
                            </ul>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 3,2,2</a>
                        </li>
                        <li>
                            <div class="tv-sibling tv-sibling-horizontal"></div>
                            <a href="#">Node 3,2,3</a>
                        </li>
                    </ul>
                </li>
                <li>
                    <div class="tv-sibling tv-sibling-horizontal"></div>
                    <a href="#">Node 3,3</a>
                </li>
            </ul>
        </li>
        <li>
            <div class="tv-sibling tv-sibling-horizontal"></div>
            <a href="#">Node4</a>
        </li>
    </ul>
</div>

尝试在父div上添加position:relative

The problem is with position: relative; 问题在于position: relative; on the items. 在项目上。

Remove it and it should work. 删除它,它应该可以工作。

Also, try adding a zoom: 1 to these elements to see if it work. 另外,尝试向这些元素添加一个zoom: 1以查看其是否起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM