Avatar billede esbenn Nybegynder
17. januar 2012 - 20:17 Der er 14 kommentarer og
1 løsning

Placering af DIV Chrome + Safari vs Firefox

Hej,

Jeg har en del problemer med at få nogle elementer placeret i højden på siden. i Firefox er elementerne placeret lige en smugle under i forhold til Chrome og Safari.
Håber nogen lige vil tjekke min kode og se hvad fejlen evt kan være.
HTML:
<div id="header">
            <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
            <div class="menu">

                <?php $main_pages = get_pages( array('sort_order' => 'DESC','sort_column' => 'menu_order','exclude' => array(11),'post_type' => 'page', 'post_status' => 'publish','parent' => 0) );
                foreach( $main_pages as $main_page ) {
                echo "<div class='menu_item' id='menu_item_".$main_page->ID."'>".$main_page->post_title."<div id='submenu_items_".$main_page->ID."'>";
               
                $sub_pages = get_pages( array('child_of' => $main_page->ID,'sort_order' => 'DESC','sort_column' => 'menu_order','post_type' => 'page', 'post_status' => 'publish') );
                foreach( $sub_pages as $sub_page ) {
                echo "<div class='submenu'><a href='".get_page_link($sub_page->ID)."'>".$sub_page->post_title."</a></div>";
                }
               
                echo "</div></div>";
           
                }
                ?>
            </div>
        </div>

CSS:
#header { height:75px; background-color:#fff; margin-left:20px; margin-right:20px; padding-top:10px; border-bottom: 1px solid #000;}
.menu { position:relative; top:13px; width:950px; height:11px;}
.menu_item { position:relative; width:475px; float:left; cursor:pointer;}
.submenu { position:relative; float:right; margin-left:20px;}
#submenu_items_183 { position:relative; top:-11px; left:-300px;}
#submenu_items_188 { position:relative; top:-11px; left:-285px;}
Avatar billede olebole Juniormester
17. januar 2012 - 21:25 #1
<ole>

PHP-kode gør ingen gavn. Den interessante kode er den, der rammer browseren. Kan du ikke lægge et link, så vi kan teste i forskellige browsere?

/mvh
</bole>
Avatar billede esbenn Nybegynder
17. januar 2012 - 22:09 #2
http://esbencn.dk/
About og Projects og underpunkterne der kommer frem...
Avatar billede olebole Juniormester
17. januar 2012 - 22:56 #3
Begynd med at fjerne dette tag:


Der må intet stå før DTD'en. Står der noget, disables store og vigtige dele af CSS i nogle browsere - udover, at der er tale om HTML-soup  =)
Avatar billede esbenn Nybegynder
17. januar 2012 - 23:07 #4
Ved ikke lige hvorfor der stod noget der... Er et Wordpress plugin der åbentbart syntes var en god idé...
Men det er fjernet nu - dog uden resultat...
Avatar billede olebole Juniormester
17. januar 2012 - 23:22 #5
Uden resultat ...?!??!!! I IE lå stregen over de to menupunkter - og gled ned under dem ved mouseover. Du skal huske at teste i alle browsere  *o)

Jeg forstår ikke din CSS. Hvorfor sætter du left og top på relativt positionerede elementer? Det kan der kun komme besvær ud af. Denne er f.eks. helt sort:

#submenu_items_183 {
    left: -300px;
    position: relative;
    top: -11px;
}
Avatar billede esbenn Nybegynder
17. januar 2012 - 23:50 #6
Ah.. IE har jeg slet ikke testet i endnu... Er på mac :)
Hvordan burde jeg så styre mine relativ elementer? med margin-left og margin-top?
Avatar billede olebole Juniormester
17. januar 2012 - 23:57 #7
Ja, hvis det er nødvendigt. Men jeg forstår ikke rigtig, hvorfor det skulle være nødvendigt at flytte så meget på elementerne
Avatar billede esbenn Nybegynder
18. januar 2012 - 00:13 #8
Hvordan ville du placere de elementer hvis det var dig?
Avatar billede esbenn Nybegynder
18. januar 2012 - 00:26 #9
display:inline-block; gjorde en hel del for mig... Er det rigtigt at bruge det i dette tilfælde.
Ved ikke lige om det er et dumt spørgsmål, men jeg prøver bare at lære! :)
Avatar billede olebole Juniormester
18. januar 2012 - 00:33 #10
Det ville jeg overveje, hvis jeg skulle bruge sådan en menu, men noget af det allerletteste i HTML er at få elementer til at ligge præcist ved siden af hinanden.

Hvorfor pakker du hvert link ind i et DIV? A elementer kan ikke andet end lægge sig ved siden af hinanden - med mindre, man 'volder' dem, ligesom du i dag 'volder' dine DIV  =)
Avatar billede olebole Juniormester
18. januar 2012 - 00:36 #11
Yups - display:inline-block gør, at elementet opfører sig som et inline element udadtil - og et block element inadtil.

Men som sagt: Hvorfor overhovedet pakke A elementerne ind? De er jo i sig selv inline elementer
Avatar billede esbenn Nybegynder
18. januar 2012 - 22:00 #12
Det kan du have ret i.. Det er så også fjernet nu!

Mange tak for hjælpen, nu er min kode lidt pænere...

Send et svar så du kan modtage nogle point!
Avatar billede olebole Juniormester
19. januar 2012 - 14:43 #13
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede esbenn Nybegynder
19. januar 2012 - 16:38 #14
Iorden!

Igen, tak for hjælpen!
Avatar billede olebole Juniormester
19. januar 2012 - 16:59 #15
Selvtak  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester