Показать сообщение отдельно
  #47 (permalink)  
Старый 16.01.2011, 22:22
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Shaci
в ie верстка разваливается
Вижу 2 проблемы...
1. отступ сиреневого блока сверху
2. не верное позиционирование субменю

Как вариант (смотрел в ИЕ7 и Опере)

<!DOCTYPE html>
<html>
    <head>

        <style type="text/css">
            #wrap, #content, ul, ul li {
                overflow: hidden;
                position: relative;
            }

            #wrap {                
                margin:0 auto;
                background: gray;
                width: 408px;
                height: auto;
            }

            #content {
                background: #330033;
                margin-left: auto;
                margin-right: auto;
                width: 300px;
                height: 80px;
            }

            ul, ul li {
                margin: 0px;
                padding: 0px;
            }

            ul {
                width: 408px;
                height: 20px;
            }

            ul li {
                background: #35C;
                border: solid 1px;
                border-color: #46F #238 #238 #46F;
                display: block;
                list-style: none;
                text-align: center;
                float: left;
                width: 100px;
            }

            ul li a {
                color: #fff;
                font: 300 14px/14px arial, tahoma, verdana, sans-serif;
                text-decoration: none;
            }

            #first, #second, #third, #fourth {
                height:20px;
                border:solid 0px 1px 0px 1px;
                background:#330066;
            }

            #submenu {
                position:absolute;
				top: 22px;
				left: 0;
                height:0px;
                overflow:visible;
            }
			#tab {
				height: 40px;
			}
        </style>
        <script type="text/javascript">
            window.onload = function() {
                //addEvent
                function addEvent(elem, type, handler){
                    if (elem.addEventListener){
                        elem.addEventListener(type, handler, false)
                    } else {
                        elem.attachEvent("on"+type, function () {handler.apply(elem)})
                    }
                }

                var childs = document.getElementById("submenu").getElementsByTagName("li");
                for (var i = 0; i < childs.length; i++) {
                    childs[i].style.height = "0px";
                }

                var animating = false;
                var menuLi = document.getElementById("menu").getElementsByTagName("li");
                var submenu, str, id;
                for (var i = 0; i < menuLi.length; i++) {
                    var a = menuLi[i].getElementsByTagName("a")[0];
                    addEvent(a, "click", incDec);
                }

                function incDecInner() {
                    if (str == "+") {
                        if (submenu.style.height != "20px") {
                            submenu.style.height = parseInt(submenu.style.height) + 2 + "px";
                        }
                        else {
                            animating = false;
                            clearInterval(id);
                        }
                    }
                    else {
                        if (submenu.style.height != "0px") {
                            submenu.style.height = parseInt(submenu.style.height) - 2 + "px";
                        }
                        else {
                            animating = false;
                            clearInterval(id);
                        }
                    }
                }

                function incDec(event) {
                    event = event || window.event
                    if (event.preventDefault) {
                        event.preventDefault()
                    } else {
                        event.returnValue = false
                    }
                    if (animating) return;
                    else {
                        animating = true;
                        var array = /#(.+)/.exec(this.href);
                        var pointer = array[1];
                        submenu = document.getElementById(pointer);
                        if (submenu.style.height == "0px") {
                            str = "+";
                            id = setInterval(incDecInner,50);
                        }
                        else {
                            str = "-";
                            id = setInterval(incDecInner, 50);
                        }
                    }
                }

            }
        </script>
    </head>
    <body>
        <div id="wrap">
            <ul id="menu">
                <li><a href="#first">1</a></li>
                <li><a href="#second">2</a></li>
                <li><a href="#third">3</a></li>
                <li><a href="#fourth">4</a></li>
            </ul>
            <ul id ="submenu">
                <li id="first"><a href="#">1</a></li>
                <li id="second"><a href="#">2</a></li>
                <li id="third"><a href="#">3</a></li>
                <li id="fourth"><a href="#">4</a></li>
            </ul>
			<div id='tab'></div>
            <div id="content"></div>
        </div>
    </body>
</html>
Ответить с цитированием