Avatar billede karsten_larsen Praktikant
14. februar 2008 - 18:26 Der er 21 kommentarer og
2 løsninger

Minimer automatisk længde på knapper i IE

Hvordan får jeg knap til at ikke at lave mere plads end nødvendigt. Det fungerer fint i FF men ikke i IE.

Se link http://www.kastaniehoejen.dk/default2.aspx

?:-) karsten_larsen
Avatar billede olebole Juniormester
15. februar 2008 - 00:14 #1
<ole>

Jeg gider ikke karte gennem flere stylesheets. Hvad har du tildelt knappen af CSS?

/mvh
</bole>
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 04:55 #2
Jeg har tildelt følgende i IE

.InputButton3 {
    font-weight: normal;
    border: 1px solid #C7CAC9;
    background-color:    Green;
    font-size: 11px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #4F4F4F;
    margin: 0px;
padding:0px ;
}


og følgende i FF (hvor det er i orden)

.InputButton3 {
    font-weight: normal;
    border: 1px solid #C7CAC9;
    background-color:  yellow;
    font-size: 11px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #4F4F4F
}
Avatar billede w13 Novice
15. februar 2008 - 10:00 #3
Det gør IE automatisk, når du sætter hvert element på en ny linje. (Linjeskift i koden svarer til ét mellemrum på siden..) Så prøv f.eks. at rette:

      <input name="TextBox1" type="text" id="TextBox1" class="InputText" />
        <input type="submit" name="Button1" value="Button" id="Button1" class="InputButton" />
        <select name="DropDownList1" id="DropDownList1" class="Textddl">

Til:

      <input name="TextBox1" type="text" id="TextBox1" class="InputText" /><input type="submit" name="Button1" value="Button" id="Button1" class="InputButton" /><select name="DropDownList1" id="DropDownList1" class="Textddl">
Avatar billede w13 Novice
15. februar 2008 - 10:03 #4
Det "morsomme" er, at IE ikke fortolker disse linjeskift som tekst(/textNodes), hvilket FireFox gør, selvom FF ikke viser det som mellemrum.. =/
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:31 #5
w13 -> næhe, det virker nu ikke

Koden på siden er:
<asp:TextBox ID="TextBox1" runat="server" CssClass="InputText"></asp:TextBox><asp:Button ID="Button1" runat="server" CssClass="InputButton" Text="Button" /><asp:DropDownList ID="DropDownList1" runat="server" CssClass="Textddl"><asp:ListItem>1</asp:ListItem><asp:ListItem>2</asp:ListItem><asp:ListItem>3</asp:ListItem><asp:ListItem>4</asp:ListItem><asp:ListItem></asp:ListItem></asp:DropDownList><asp:TextBox ID="TextBox2" runat="server" CssClass="InputText"  Enabled="False"></asp:TextBox><asp:Button ID="Button2" runat="server" CssClass="InputButton" Enabled="False" Text="Button" /><asp:DropDownList ID="DropDownList" runat="server" CssClass="Textddl" Enabled="False"><asp:ListItem>1</asp:ListItem><asp:ListItem>2</asp:ListItem><asp:ListItem>3</asp:ListItem><asp:ListItem>4</asp:ListItem><asp:ListItem></asp:ListItem></asp:DropDownList><asp:Button ID="Button5" runat="server" Text="Dette er en lang gul knap i FF og en lang grøn knap i IE" CssClass="InputButton3" />

?:-) karsten_larsen
Avatar billede roenving Novice
15. februar 2008 - 14:36 #6
Tjah, så er det jo asp, der indsætter linjeskiftene, der laver fejlen ...

-- så må du jo klage til M$ over deres kodes elendige html-forståelse ,-(
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:39 #7
En hel blank side med to knapper den ene med og den anden padding

Vises som det skal i FF men ikke i IE

http://www.kastaniehoejen.dk/default3.aspx

Det burde da virke!

???? karsten_larsen
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:41 #8
roenvig -> det er da lige før de får en mail ?:-)
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:42 #9
Her er siden:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Dette er lang tekst" />
        <asp:Button ID="Button2" runat="server" Style="padding-right: 0px; padding-left: 0px;
            padding-bottom: 0px; padding-top: 0px" Text="Dette er goså en lang tekst, men padding er sat til 0px" /></div>
    </form>
</body>
</html>
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:42 #10
Er der noget jeg har overset?
Avatar billede w13 Novice
15. februar 2008 - 14:52 #11
Hvis du fjerner linjeskiftene.. :)
Avatar billede w13 Novice
15. februar 2008 - 14:52 #12
Dvs. kun mellem knapperne, naturligvis.
Avatar billede roenving Novice
15. februar 2008 - 14:53 #13
Kig på dette:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="submit" id="Button1" value="Dette er lang tekst">
        <input type="submit" id="Button2" style="padding: 0;margin:0 -75px;border:0;background:none;" value="Dette er også en lang tekst, men padding er sat til 0px">xxx</div>
    </form>
</body>
</html>

-- knappen har stadig samme længde, men den vises anderledes !-)
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 14:59 #14
w13 ->

er det dette du mener:
<asp:Button ID="Button1" runat="server" Text="Dette er lang tekst" /><asp:Button ID="Button2" runat="server" Style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px" Text="Dette er goså en lang tekst, men padding er sat til 0px" />

eller hur?
Avatar billede w13 Novice
15. februar 2008 - 15:00 #15
Jeg tror, jeg misforstod, og at Roenving er mere på sporet. Men ellers ja. =)
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 15:02 #16
roenvig -> ja, men så mister jeg border på knappen
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 15:07 #17
selv hvis jeg prøver dette f.eks.

        If Page.IsPostBack = False Then
            Dim ButtonKnap As String = "Dette er en meget lang tekst til knap, som MS ikke kan håndtere ordentligt"
            Button2.Text = ButtonKnap & ButtonKnap.Length
            Button2.Width = ButtonKnap.Length
        End If

Men så bliver det sgu´mindre selv om længde er 74

?:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 15:08 #18
w13 -> det betyder ikke noget hvis koden er direkte efter hinanden. :-(
Avatar billede karsten_larsen Praktikant
15. februar 2008 - 18:57 #19
hmm - det eneste måde jeg kan få det til at fungere på er ved at definere en fast width på knappen, så retter IE ind efter det.

Læg et svar, så deler jeg point ud som tak for sparringen.
:-) karsten_larsen
Avatar billede w13 Novice
15. februar 2008 - 19:11 #20
Hvis du også mener mig, er her et svar.
Avatar billede w13 Novice
15. februar 2008 - 19:14 #21
Det var der self. ikke, men det er der her. =)
Avatar billede roenving Novice
16. februar 2008 - 14:51 #22
Oki '-)
Avatar billede roenving Novice
18. februar 2008 - 23:01 #23
-- og tak for point ;~}
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