Проблемы рендеринга между браузерами - PullRequest
2 голосов
/ 30 мая 2011

Во-первых, я только что начал безостановочно изучать html & css неделю назад, как сумасшедший, и решил разметить дизайн, который я создал несколько лет назад. Я знаю, что есть проблемы с моим html и или css, но я только начинаю и пытаюсь использовать лучшие практики. Я мог бы, вероятно, использовать больше сокращений, а также. Во всяком случае, я болтаю дальше.

Проблема в том, что я использую абсолютное позиционирование. После недолгого устранения неполадок, я получил Firefox и Chrome на одной странице. Тем не менее, я не думаю, что мой макет является жидким, и поэтому в Chrome, когда я масштабирую с помощью cmd +, все выходит из-под контроля. Нет проблем в Firefox. И тогда IE - еще одно чудовище само по себе. Вещи оказываются повсюду. Это действительно нервирует.

Это сводит меня с ума. Когда вещи работают не так, как вы хотите, это такая борьба, но я люблю изучать веб-дизайн. Если кто-то может помочь, это будет высоко ценится. Я разместил свой код ниже ...

HTML:

<body>
<div id="main">
    <div class="container">

        <div id="header">
                <div id="searchBar">
                <form action=""> <small>Search</small> <input type="text" name="search" /></form></div>
                <div id="logo">
                    <h1><a href="">Hell, Michigan<a/></h1>
                </div>
            <div id="menu">
                <ul>
                    <li><a href="" class="active">Home</a></li>
                    <li><a href="">Things To See & Do</a></li>
                    <li><a href="">Where To Stay</a></li>
                    <li><a href="">Plan Your Trip</a></li>
                    <li><a href="">History</a></li>
                    <li><a href="">Contact</a></li>
                </ul>
            </div> <!--menu-->
        </div> <!--header-->

        <div id="mainContent">
            <img src="images/main_content.png" width="791" height="209" alt="must see must do" />
        </div>

        <div id="attractions">
            <ul>
                <li id="chapel">
                <h2><a href="" title="Get Hitched in Hell!">Hell Wedding Chapel</a></h2>
                <p>A marriage made in hell can only get better. Tie the knot in Hell's very own
                Wedding Chapel, or renew your vows before hell freezes over!</p></li>

                <li id="run">
                <h2><a href="" title="Run for your lives!">Run Thru Hell</a></h2>
                <p>Not everyone can say that they've run thru hell. Partake in Hell's classic 5 or
                10 mile race, and get a T-shirt that says, <q>I ran thru hell!</q></p></li>

                <li id="lastRides">
                <h2><a href="" title="Your Last Ride Awaits!">Last Rides Reunion</a></h2>
                <p>The annual Last Rides Reunion is a must see event in late September. Witness over 40
                hearses drive through town. Will this be your last ride?</p></li>
            </ul>   
        </div> <!--main content-->

        <div id="subContent">
            <img src="images/sub_content.png" width="791" height="156" alt="choose activity" />
        </div>

        <div id="activities">
            <ul>
                <li id="activitiesOne">
                <h3><a href="" title="Picnic or Hike in Hell!">Picnic or Hike</a></h3></li>

                <li id="activitiesTwo">
                <h3><a href="" title="Canoe or Bike in Hell!">Canoe or Bike</a></h3></li>
            </ul>   
        </div> <!--sub content-->

        <div id="socialContent">
            <h4>Connect with us</h4>
            <ul>
                <li id="twitter">
                <h5><a href="">Hell Michigan on Twitter</a></h5></li>

                <li id="facebook">
                <h5><a href="">Hell Michigan on Facebook</a></h5></li>

                <li id="youtube">
                <h5><a href="">Hell Michigan on YouTube</a></h5></li>
            </ul>
        </div> <!--social content-->

        <div id="footer">
            <p>&copy; Hell Michigan &nbsp;&nbsp;
                <a href="privacy.htm">Privacy Policy</a> |
                <a href="terms.htm">Terms and Conditions</a>
            </p>
        </div> <!--footer-->
    </div> <!--containter-->
</div> <!--main-->
</body>
</html>

CSS:

/*
    Hell Michigan Demo Page
    Design & Markup by Khoi Nguyen
*/

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: Rockwell, Georgia, serif;    
    background-color: #fff;
    margin: 0;          
    padding: 0;         
}



#menu a {
    color: #fff
}

#main {
    width: 791px;       
    margin: 0 auto;     
    background: #fff;       
    position: relative;
}

#header {
    height: 118px;  
    background-color: #fff;
}

/* 
    Search-Bar
*/

#header #searchBar {
    position: absolute;
    left: 595px;
    top: 20px;
}

#logo a:link {
    height: 45px;
    width: 478px;
    display: block;         
    text-indent: -9999em;   
    background: url(../images/logo.png) no-repeat left bottom;
    border: 0;           
    padding: .3em .3em;
    margin: 0 .3em;
}

/* 
    Navigation
*/

#header #menu {        
    left: 791px;
    bottom: 0px;
}

#menu ul {               
    color: #fff;
    list-style-type: none;
    font-family: Helvetica, sans-serif;
    font-size: 1.5ex;
    font-weight: bold;
    text-transform: uppercase;
    margin-top: 12px;
    margin-left: 5px;
    padding: 0 1px 0 0;
    text-align: center;
}

#menu li {               
    float: left;
    margin: 0;
    padding: 0;
}

#menu li a:link {

    display: block;         
    color: #fff;            
    text-decoration: none; 
    padding: 0 0 0 0; 
    margin-right: 1px;
    width: 139px;
    line-height: 31px;
    background: url(../images/navigation_dual.jpg) no-repeat left bottom;
    border: none;          
}

#menu li a:hover {
    color: #000;         
    background-position: left top;     
}

#menu li a.active {
    height: 31px;
    width: 80px;
    display: block;
    color: #000;
    background: url(../images/home.jpg) no-repeat;
}

#menu li a.active {
    cursor: default;
}

/* 
    Main-Content
*/

#mainContent img {
    position: relative;
    margin-top: .5em;
}

#attractions ul  #chapel a:link {
    position: absolute;
    top: 129px;
    left: 328px;
    width: 151px;
    height: 201px;
    margin: 0;
    padding: 0;
    background: url(../images/chapel_dual.png) no-repeat left bottom;
    text-indent: -9999em;
}

#attractions ul #chapel a:hover {
    background-position: left top;     
}

#attractions ul  #run a:link {
    position: absolute;
    top: 129px;
    left: 482px;
    width: 151px;
    height: 201px;
    margin: 0;
    padding: 0;
    background: url(../images/run_dual.jpg) no-repeat left bottom;
    text-indent: -9999em;
}

#attractions ul #run a:hover {
    background-position: left top;     
}

#attractions ul  #lastRides a:link {
    position: absolute;
    top: 129px;
    left: 636px;
    width: 151px;
    height: 201px;
    margin: 0;
    padding: 0;
    background: url(../images/last_rides_dual.jpg) no-repeat left bottom;
    text-indent: -9999em;
}

#attractions ul #lastRides a:hover {
    background-position: left top;      
}

#attractions ul {
    list-style: none;
    overflow: auto;
}

#chapel p {
    position: absolute;
    font-size: .8em;
    color: gray;
    top: 340px;
    left: 328px;
    width: 142px;
    height: 30px;
    margin: 0;
    padding: 0;
    z-index: 1;
}

#run p {
    position: absolute;
    font-size: .8em;
    color: gray;
    top: 340px;
    left: 482px;
    width: 142px;
    height: 30px;
    margin: 0;
    padding: 0;
    z-index: 1;
}

#lastRides p {
    position: absolute;
    font-size: .8em;
    color: gray;
    top: 340px;
    left: 636px;
    width: 142px;
    height: 30px;
    margin: 0;
    padding: 0;
    z-index: 1;
}

/* 
    Sub-Content
*/

#activities ul {
    list-style: none;
}

#subContent img {
    position: relative;
    margin-top: 106px;
}

#activities ul  #activitiesOne a:link {
    position: absolute;
    top: 448px;
    left: 4.5px;
    width: 197px;
    height: 148px;
    margin: 0;
    padding: 0;
    background: url(../images/picnic_hike_dual.png) no-repeat left bottom;
    text-indent: -9999em;
}

#activities ul #activitiesOne a:hover {
    background-position: left top;      
}

#activities ul  #activitiesTwo a:link {
    position: absolute;
    top: 448px;
    left: 209px;
    width: 304px;
    height: 148px;
    margin: 0;
    padding: 0;
    background: url(../images/canoe_bike_dual.png) no-repeat left bottom;
    text-indent: -9999em;
}

#activities ul #activitiesTwo a:hover {
    background-position: left top;      
}

1 Ответ

1 голос
/ 30 мая 2011

Удачи в обучении, все это станет практикой, и IE - это боль для всех, так что это тоже нормально:)

Первое, что вы можете сделать, это привыкнуть всегда ставить код "reset css" в самый верх вашего файла css - вот один очень хороший вариант, который вы можете использовать:

http://developer.yahoo.com/yui/reset/#code

Что-то вроде того, что все браузеры находятся на «одной странице», когда дело доходит до отображения материала.

Тогда я бы предложил вам попробовать начать с пустой страницы, добавить один за другим элемент и проверить каждый из них, чтобы убедиться, что он работает правильно во всех браузерах, и настроить при необходимости. В конце концов вы начнете писать код инстинктивно, зная, как все делать правильно, и вам понадобится гораздо меньше проверок.

Еще одна вещь, которую делают многие разработчики: выберите свой «основной браузер», в котором вы будете разрабатывать вещи, убедитесь, что в нем все выглядит хорошо, а затем проверьте и настройте другие браузеры. Чтобы этот подход имел смысл, ваш основной браузер должен быть современным, совместимым со стандартами, таким как Firefox (Safari и Chrome тоже подойдут). И затем вы разрабатываете для IE в последнюю очередь, так как ожидается, что он будет плохо себя вести и нуждается в особой обработке (которую вы можете дать, используя условные комментарии: http://www.quirksmode.org/css/condcom.html)

Еще одна полезная ссылка с исправлениями для вещей, с которыми вы столкнетесь: http://www.positioniseverything.net/

Чтобы узнать больше о разметке жидкостей, проверьте это: http://www.cssliquid.com/

...