Avatar billede para7 Nybegynder
10. august 2009 - 15:22 Der er 6 kommentarer og
2 løsninger

if ie7 sæt topmargin

Jeg har leget med at få topmargin style på mit div, men det er ikke lykkedes. Har prøvet fx:

$img_lib_html = "
<input type=\"hidden\" id=\"currentpic\" value=0>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%;\">
<tr>
  <td width=\"100%\">
  <div style=\"<!--[if IE 7]>margin-top:7px<![endif]>\">
Avatar billede para7 Nybegynder
10. august 2009 - 15:26 #1
Hov, det her er mere korrekt, men det virker stadig ikke.
<div style=\"<!--[if IE 7]>margin-top:7px<![endif]-->\">
Avatar billede repox Seniormester
10. august 2009 - 15:28 #2
Det har ikke noget med PHP at gøre.

At bruge conditional comments er desuden også et skidt bane at komme ind på - særligt også fordi du tror du kan benytte det i en attribut. Det viser at du nok burde holde dig fra det.

Du har muligheden for at benytte PHP til at finde ud af hvilken browser der er i brug og angive to stylesheets istedet.
Et til ie7 og et til resten (som, ud fra dit indlæg, må antages at det vises korrekt i).
Avatar billede para7 Nybegynder
10. august 2009 - 16:06 #3
Tak, men jeg skal jo bare have vist eller skjult en lille stump tekst. Det kunne jeg gøre i ASP som ingenting. Kender nok ikke PHP ordentligt endnu.
Avatar billede repox Seniormester
10. august 2009 - 16:54 #4
Hvad er det for en stump tekst du skal have vist?
Avatar billede para7 Nybegynder
10. august 2009 - 17:04 #5
Jeg fik bikset noget sammen. Foreslag til bedre kode er velkommen:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7')) {
$marginstyle = "margin-top:7px";
}

$img_lib_html = "
<input type=\"hidden\" id=\"currentpic\" value=0>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%;\">
<tr>
  <td width=\"100%\">
  <div style=".$marginstyle.">
Avatar billede para7 Nybegynder
10. august 2009 - 17:05 #6
Min kode virker, men kunne måske laves smartere?
Avatar billede hermandsen Juniormester
10. august 2009 - 22:47 #7
Et forslag kunne være at gøre det udelukkende med css.
<div id="specialmargin">

*:first-child+html #specialmargin {
  margin-top: 7px;
}

Ovenstående vil kun blive brugt af IE7 da den har en fejl i parseren som gør at den ser "*:first-child+html blablabla" som en rigtig selector.

Hvis du skal ha' fat i IE6, så er det "* html blablabla" i stedet.

// hermandsen
Avatar billede para7 Nybegynder
11. august 2009 - 08:53 #8
OK, hermandsen. Den var smart. Gemmer den og bruger min egen, det er lettere nu :)
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