Avatar billede steen_hansen Forsker
19. december 2005 - 00:28 Der er 24 kommentarer og
2 løsninger

type="text" i Opera

Jeg laver et textfelt, som skal være 180px i bredden inkl. en sort border på 1px. Altså skal feltet være 178px bredt + den højre kant på 1px + den venstre kant på 1px, som i alt giver 180px.

I MSIE, FireFox og Mozilla/NS, bliver det OK, men i Opera ser det ud til, at borderen på 1px er med i de 178px, så textfeltet bliver 178px med border, i stedet for 180px med border. Kan det være rigtigt, og hvordan kan det i givet fald rettes, så
Avatar billede steen_hansen Forsker
19. december 2005 - 00:29 #1
... det også kommer til at passe i Opera?
Avatar billede roenving Novice
19. december 2005 - 06:00 #2
Tjah, et hurtigt check viser, at du har fundet en anomali i Opera, jeg ville lave om på strukturen, så det ingen alvorlig betydning har !-)
Avatar billede stich Nybegynder
19. december 2005 - 10:50 #3
Har du en URL? Det burde ikke være således, og er det heller ikke i en lille testcase jeg har lavet; tværtimod er text-fields bredere i Opera end i Firefox som standard, pga. Opera giver dem en smule padding.
Avatar billede steen_hansen Forsker
19. december 2005 - 18:07 #4
Det hele startede med, at jeg i alle de celler med et textfelt i, havde 3px i overskud til højre i cellen, og 1px i bunden. Så jeg fjernede alle paddings m.m., så alle celler "klappede" helt sammen. Jeg håbede at kunne finde fejlen ad dén vej, for underligt nok sad den lige i øjet i både FF og FireFox.

Jeg smider mit CSS og HTML, renset for VB-scripting og JavaScripts. Det er kun HTML og CSS, der er interessant her:

CSS:
html, body {
background-color: #396da5;
height: 100%;
margin: 0px;
border: 0px;
padding-top: 0px;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
color: black;
font-style: normal;
font-weight: normal;
font-size: 11px
}
.headline {
padding: 20px 0px;
color: black;
font-style: normal;
font-weight: bold;
font-size: 22px;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
line-height: 28px;
}
.maintableadmin {
width: 755px;
padding: 0px;
margin: 0px auto;
border-collapse: collapse;
background-color: #fff
}
.adminbanner {
width: 755px;
height: 60px;
padding: 0px
}
.vform {
width: 535px;
margin: 0px;
padding: 0px;
border-collapse: collapse
}
.tdmenu {
width: 159px;
padding: 0px;
vertical-align: top;
border-right: 1px solid black
}
.tablecontent {
width: 535px;
border-collapse: collapse
}
.table1 {
padding: 0px;
margin: 0px auto
border-collapse: collapse
}
.tdcontent {
vertical-align: top;
padding: 0px 30px 30px 30px;
background-color: #7D6B5A
}
.tdgrey1 {
width: 130px;
padding: 0px;
background-color: #e8e8e8
}
.tdgrey2 {
width: 180px;
padding: 0px;
background-color: #e8e8e8
}
.tdgrey3 {
width: 225px;
padding: 0px;
background-color: #e8e8e8
}
.tdgrey4 {
width: 405px;
padding: 0px;
background-color: #e8e8e8
}
.tdblue1 {
width: 130px;
padding: 0px;
background-color: #e2f0ff
}
.tdblue2 {
width: 180px;
padding: 0px;
background-color: #e2f0ff
}
.tdblue3 {
width: 225px;
padding: 0px;
background-color: #e2f0ff
}
.tdblue4 {
width: 405px;
padding: 0px;
background-color: #e2f0ff
}
.input1 {
width: 178px;
border: 1px solid black;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
font-size: 11px;
background-color: #ffffcc
}
.btn {
buttonhighlight buttonshadow buttonshadow buttonhighlight;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
font-size: 10px
}



HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<META HTTP-EQUIV="Expires" CONTENT="Fri, Jun 12 1981 08:20:00 GMT">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="content-type" content="text/html;charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="/includes/style.css">
<title>Opret ny bruger</title>
</head>

<body document.frmCreateUser.username.focus()">

<table style="width: 755px; padding: 0px; margin: 0px auto; border-collapse: collapse; background-color: #fff">
    <tr>
        <td colspan="2" style="border-bottom: 1px solid black" class="adminbanner">Banner</td>
    </tr>
    <tr>
        <td class="tdmenu">Menu<br>T</td>
        <td class="tablecontent tdcontent">
            <form name="frmCreateUser" method="post" action="/admin/createuser.asp" class="vform">
            <input type="hidden" name="mode" value="createuser">
                <table  class="tablecontent table1">
                    <tr>
                        <td colspan="3" class="headline tablecontent">Opret ny bruger</td>
                    </tr>
                    <tr>
                        <td style="width: 130px; padding: 0px; background-color: #fff">Brugernavn:</td>
                        <td style="width: 180px; padding: 0px; background-color: #0000ff"><input type="text" name="username" tabindex="1" class="input1"></td>
                        <td style="width: 225px; padding: 0px; background-color: #ff00ff"></td>
                    </tr>
                    <tr>
                        <td class="tdgrey1">Fornavn:</td>
                        <td class="tdgrey2"><input type="text" name="firstname" tabindex="2" class="input1"></td>
                        <td class="tdgrey3"></td>
                    </tr>
                    <tr>
                        <td style="width: 130px; padding: 0px; background-color: #fff">Mellemnavn</td>
                        <td style="width: 180px; padding: 0px; background-color: #0000ff"><input type="text" name="middlename" tabindex="3" class="input1"></td>
                        <td style="width: 225px; padding: 0px; background-color: #ff00ff"></td>
                    </tr>
                    <tr>
                        <td class="tdgrey1">Efternavn:</td>
                        <td class="tdgrey2"><input type="text" name="lastname" tabindex="4" class="input1"></td>
                        <td class="tdgrey3"></td>
                    </tr>
                    <tr>
                        <td class="tdblue1">E-mailadresse:</td>
                        <td class="tdblue2"><input type="text" name="email" tabindex="5" class="input1"></td>
                        <td class="tdblue3"></td>
                    </tr>
                    <tr>
                        <td class="tdgrey1">Telefon, arbejde:</td>
                        <td class="tdgrey2"><input class="input1"></td>
                        <td class="tdgrey3"></td>
                    </tr>
                    <tr>
                        <td class="tdblue1">Telefon, privat:</td>
                        <td class="tdblue2"><input type="text" name="phoneathome" tabindex="7" class="input1"></td>
                        <td class="tdblue3"><span id="countdownphoneathome"></span></td>
                    </tr>
                    <tr>
                        <td class="tdgrey1">Mobiltelefon:</td>
                        <td class="tdgrey2"><input type="text" name="cellphone" tabindex="8" class="input1"></td>
                        <td class="tdgrey3"><span id="countdowncellphone"></span></td>
                    </tr>
                    <tr>
                        <td class="tdblue1">Fødselsdag:</td>
                        <td colspan="2" class="tdblue4">
                            <select size="1" name="dateofbirth" tabindex="9" class="input3">
                                <option value="bdate" selected>Dato</option>
                                <option value="1">01</option>
                                <option value="2">02</option>
                                <option value="3">03</option>
                                <option value="4">04</option>
                                <option value="5">05</option>
                                <option value="6">06</option>
                                ......................
                            </select>
                            <select size="1" name="monthofbirth" tabindex="10" class="input3">
                                <option value="bmonth" selected>Måned</option>
                                <option value="1">01</option>
                                <option value="2">02</option>
                                <option value="3">03</option>
                                <option value="4">04</option>
                                <option value="5">05</option>
                                <option value="6">06</option>
                                <option value="7">07</option>
                                <option value="8">08</option>
                                <option value="9">09</option>
                                <option value="10">10</option>
                                <option value="11">11</option>
                                <option value="12">12</option>
                            </select>
                            <select size="1" name="yearofbirth" tabindex="11" class="input3">
                                <option value="byear" selected>År</option>
                                <option value="2005">2005</option>
                                <option value="2004">2004</option>
                                <option value="2003">2003</option>
                                <option value="2002">2002</option>
                                <option value="2001">2001</option>
                                ........................
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td class="tdgrey1">Administrator:</td>
                        <td colspan="2" class="tdgrey4"><input type="checkbox" name="adminrights" tabindex="12"></td>
                    </tr>
                    <tr>
                        <td class="tdblue1">&nbsp;</td>
                        <td colspan="2" class="tdblue4"><input type="submit" name="createuser" tabindex="13" value="Opret bruger" class="btn"> &nbsp;<input type="button" value="Slet alt" tabindex="14" onclick="if(confirm('Er du sikker?')) window.document.frmCreateUser.reset();" class="btn"></td>
                    </tr>
                </table>
            </form>
        </td>
    </tr>
</table>

</body>

</html>


1. Den måde jeg har lavet det, er rigtigt nok? Jeg kan ikke se hvorfor textfeltet kun er 178 med den sorte border på hver side. Men jeg følger nok bare dit råd, roenving, og passer det til. Jeg kan bare ikke se hvorfor den laver det lille stunt :o)
2. Mens I er her: Hvorfor er fokus ikke i textfeltet username i NS og FireFox, når jeg beder om det i BODY-tagget?
3. Hvorfor laver både MSIE og Opera 3px til højre for textfeltet, og 1px under - altså inde i cellen?

Jeg sætter point op, hvis I gider hjælpe mig med de spørgsmål. Jeg har LÆNGE kæmpet med de småting (det med 3px og 1px). Det ER småting, men for F............... hvor de irriterer mig :o)

I skal ikke tage Jer af farverne. Jeg lagde dem bare ind for at kunne se hvor den ene cell slutter, og hvor den næste begynder :o)
Avatar billede stich Nybegynder
19. december 2005 - 18:24 #5
2) Monstro fordi der mangler 'onload="' i body-tagget!?
Avatar billede stich Nybegynder
19. december 2005 - 18:58 #6
Du kunne evt. skære alle de elementer væk, der ikke påvirker problemet.
Derudover fejler din CSS flere ting, og der er en del styles, i det du har pastet, der slet ikke bliver brugt til noget, både pga. elementerne ikke er der, og fordi noget af det er overflødigt. Desuden bør du gruppere tingene lidt mere (tdgrey1, tdgrey2 osv. har alle 'delte' styles), og så er det ikke frygteligt sigende klassenavne du bruger.
Alt i alt, lidt noget rod. Men det kan da tænkes der er andre der gider at fikse de ting selv...
Avatar billede steen_hansen Forsker
19. december 2005 - 19:55 #7
stich, 19/12-2005 18:24:32: Jeg har såmænd bare glemt at sætte det ind her på E:

stich, 19/12-2005 18:58:12: Ja, det er noget rod. Jeg har tilføjet/fjernet, vendt og drejet. Og navnene er ikke ret sigende, de er bare oprettet midlertidigt for at prøve det af. Men sådan kommer det ikke til at se, sådan ser det bare ud lige nu.
Avatar billede stich Nybegynder
19. december 2005 - 20:07 #8
Okay. Hvis jeg tilføjer det, virker det fint i FF og Opera, og også i IE6 m/SP2, selvom den i første omgang kommer frem med den gule bar, og gør opmæksom på den har blokeret noget indhold.

Okidoke.
Avatar billede steen_hansen Forsker
19. december 2005 - 20:08 #9
CSS fejler flere ting? Der er måske en del uhensigtsmæssigheder, men jeg kan ikke se det fejler nogen steder?

Mht. tdgrey1 osv., så får alle kolonner forskellige bredder. Jeg håber du lige vil belyse hvad du mener lidt nærmere.
Avatar billede steen_hansen Forsker
19. december 2005 - 20:09 #10
Ok, du mener <body onload=".."> bliver blokeret af MSIE?
Avatar billede stich Nybegynder
19. december 2005 - 20:12 #11
Der mangler et semikolon (hvorfor ikke bare bruge dem altid?), og

.btn {
buttonhighlight buttonshadow buttonshadow buttonhighlight;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
font-size: 10px
}

er heller ikke helt korrekt. :-)
Avatar billede steen_hansen Forsker
19. december 2005 - 20:12 #12
En anden ting: Nu mener jeg at have hevet al luft ud af cellerne, og alligevel er der 1 px i både top og bund i de celler, der indeholder textfelter. Til trods for, at jeg har fjernet line-height. Hvorfor klapper tabellen ikke helt sammen, som den gør det i FireFox, NS og Opera?
Avatar billede stich Nybegynder
19. december 2005 - 20:13 #13
Selvom de får forskellige bredder sidenhen, går jeg ud fra du har forsøgt at lave en testcase her, så er det smart at gøre den så minimal som muligt.

Yep, MSIE6 brokker sig over det.
Avatar billede steen_hansen Forsker
19. december 2005 - 20:14 #14
Et semikolon til slut i linien er ikke en fejl. Semikolon bruges bare som seperator, og den er unødvendig til sidst. Dette giver ingen forskel, og kan valideres:

.tdblue2 { width: 180px; padding: 0px; background-color: #e2f0ff }
.tdblue2 { width: 180px; padding: 0px; background-color: #e2f0ff; }

Du har muligvis ret mht. btn, har ikke fået testet det endnu :o)
Avatar billede steen_hansen Forsker
19. december 2005 - 20:16 #15
Jeg forstår så ikke MSIE. Måske fordi MS ikke går så højt op i W3C's standarder? Man skal bare lære at leve med det?
Avatar billede steen_hansen Forsker
19. december 2005 - 20:17 #16
W3C's standarder = W3C's anbefalinger
Avatar billede stich Nybegynder
19. december 2005 - 20:18 #17
Ja, det er jeg klar over. Men du har den her style:
.table1 {
padding: 0px;
margin: 0px auto
border-collapse: collapse
}
Desuden regnes det altså for god skik altid at sætte dem netop pga. sådan en forglemmelse her. Men smag og behag.
Avatar billede steen_hansen Forsker
19. december 2005 - 20:26 #18
Ah, godt set :o) Den havde jeg nu overset, uanset om jeg sætter semikolon til sidst i sætningen eller ej.

Man kan gøre det til en god skik konsekvent at sætte et semikolon i slutningen af sætningen. Det har jeg også selv gjort, men når der ikke er noget at separere, skal den ikke være der. Men den gør ingen skade, hvis den alligevel er der :o)

Mht. de 3px og 1px jeg omtalte i starten, så er det måske her det fejler i både MSIE og Opera? Jeg tænker på de 2 px i Opera til højre i cellen, og den ene pixel i toppen og bunden af en celle, hvor der er et textarea i?

Sk...irriterende, når man ikke når længere end til http://exp.dk/respons.php (hvid side). Har du oplevet det før?
Avatar billede steen_hansen Forsker
19. december 2005 - 20:28 #19
Det kører bare:

og den ene pixel i toppen og bunden af en celle, hvor der er et textarea i?

=

og den ene pixel i toppen og bunden af en celle i MSIE, hvor der er et textfelt i?
Avatar billede steen_hansen Forsker
19. december 2005 - 21:01 #20
Jeg tror jeg starter forfra med mere hensigtsmæssig CSS, og bygger det op fra bunden. Men det ser ud til, at jeg skal leve med uønskede pixels i top og bund, til højre og/eller venstre?

roenving, smid et svar.
Avatar billede stich Nybegynder
19. december 2005 - 21:15 #21
Textarea - du mener vel text-field?! Men nej, det er vel formentlig muligt at fikse det, omend lige netop input-elementer er noget af det, jeg synes er sværest at få til at opføre sig 100% ens i både IE, FF og Opera. Men om ikke andet kan du jo altid lave browsersniffing... Jeg har ikke mod på at rette dit eksempel til, og teste hvad der er galt, så længe jeg ikke er helt klar over hvad problemet er (synes jeg får samme opførsel i 'alle de 3').

Og nej, aldrig fået en blank side. Til gengæld deaktiverer jeg ofte referrer-logging, og når jeg så er blevet logget ud pga. inaktivitet (formoder jeg), bliver mit indlæg ikke postet... :-/ Samme problem har jeg oplevet på weblogs baseret på Wordpress m.m. Sucks! Men så vænner man sig til at kopiere skidtet inden man poster...
Avatar billede steen_hansen Forsker
19. december 2005 - 21:29 #22
Jo, jeg mener textfield/tekstfelt, sorry :o)

Ja, det er dææælme surt, når man langt om længe har fundet løsningen på universets gåde, og så når man frem til en blank side, eller sessionen er røget sig en tur. Man finder hurtigt ud af, hvor vigtig Ctrl + A og Ctrl + C kan være :o)

Jeg har endda lige oplevet, at http://exp.dk/spm/673193 var blank, da jeg opdaterede siden (se også http://www.eksperten.dk/spm/656327).

Jeg laver det fra bunden igen, og opretter et nyt spørgsmål, hvis jeg fortsat render ind i de små-problemer. Det undrer mig, at der ikke er andre, der er stødt på det her før. Jeg har ihvertfald ikke set nogle spørgsmål, der omhandler lige nøjagtigt dette problem :o)

roenving, mangler lige et svar fra dig :o)

Og nu fik jeg lige en blank side igen. Underligt.
Avatar billede roenving Novice
20. december 2005 - 00:38 #23
Oki '-)

-- og jeg undgår normalt hvide sider, men det er måske fordi jeg altid har et vindue kørende med min standard Eksperten-side, som opdateres en gang i minuttet ?-)
Avatar billede steen_hansen Forsker
20. december 2005 - 07:45 #24
Godt, det vil jeg prøve. Så må session.timeout være sat rimeligt lavt. Eller det har måske også noget med domæner at gøre, som du påpeger i det ovenstående spørgsmål.

Anowho, skulle I komme på, hvorfor username ikke får fokus:

<body onload="document.frmCreateUser.username.focus();">

må I gerne råbe højt.

Tak for hjælpen, begge. Konklusionen må være, at der er nogle små afvigelser i hhv. MSIE og Opera :o)
Avatar billede roenving Novice
20. december 2005 - 15:56 #25
-- og jeg takker for point ;~}
Avatar billede steen_hansen Forsker
21. december 2005 - 23:26 #26
Jeg ved ikke hvad der foregår. Indtil i dag har fokus på username ikke virket. I dag gør det. Så I behøver ikke at råbe op, det er måske goblins på min hosts server, der driller :o)
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