Daniel: &HTML&BROWSER Problem mit hover

Hi,
ich hab da ein "problem" ich habe einen button:

  
<input type="submit" class="submit" name="Name" value="egal" border="0">  

und in der css:

  
input.submit {color: #FFFFFF; font-weight: normal; background-color: #000000 }  
input.submit:hover {color: #FFFFFF; background-color: #BBBBBB}  

wie ich zwischenzeitlich weis geht das im IE nicht. Deshalb habe ich
FF installiert. Allerdings verändert sich nicht nur die Farbe des
Buttons sondern auch die größe, woran liegt das? ist das normal?

MfG

  1. Moinsen,

    Allerdings verändert sich nicht nur die Farbe des
    Buttons sondern auch die größe, woran liegt das? ist das normal?

    ohne kompletten Quelltext für den Button schwierig zu sagen. Aber gib dem Button im Stylesheet doch einfach nochmal die Breiten und Höhenangabe mit.

    1. Morgen,

      ohne kompletten Quelltext für den Button schwierig zu sagen.

      es gibt nicht mehr code zum button

      Aber gib dem Button im Stylesheet doch einfach nochmal die Breiten und Höhenangabe mit.

      das geht nicht da mehrere Buttons diese class haben, diese haben
      unterschiedliche größen, weil unterschiedlich lange Values, und ich
      möchte nicht für jeden button ne extra class

      MfG

  2. Hi,

    <input type="submit" class="submit" name="Name" value="egal" border="0">

    
    > ~~~css
      
    
    > input.submit {color: #FFFFFF; font-weight: normal; background-color: #000000 }  
    > input.submit:hover {color: #FFFFFF; background-color: #BBBBBB}  
    > 
    
    

    wie ich zwischenzeitlich weis geht das im IE nicht. Deshalb habe ich
    FF installiert. Allerdings verändert sich nicht nur die Farbe des
    Buttons sondern auch die größe, woran liegt das? ist das normal?

    Nicht nachvollziehbar - hab den von Dir gegebenen Code in eine leere Seite eingesetzt und es ändern sich nur die Farben des Buttons.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      Nicht nachvollziehbar - hab den von Dir gegebenen Code in eine leere Seite eingesetzt und es ändern sich nur die Farben des Buttons.

      ich weis jetzt woran es lag, im cache, war noch die alte css, da hattte ich das font-weight auch noch von normal auf bold gesetzt. nachdem ich zwischenzeitlich den FF neu gestartet hab bleibt die größe gleich. jetzt beschäftigt mich nurnoch eines. und zwar kann ich im css sagen wie er es einstellen soll wenn der button disabled ist? mit:

        
      input.submit:disabled {color: #000000; font-weight: normal; background-color: #FFFFFF}  
      
      

      geht es nicht

      1. Hi,

        und zwar kann ich im css sagen wie er es einstellen soll wenn der button disabled ist?

        einerseits gibt es Attribut-Selektoren: foo[bar="qaz"] wäre einer[1] davon. Andererseits gibt es tatsächlich die :disabled-Pseudoklasse - allerdings erst ab CSS/3.0.

        Cheatah

        [1] Klassen-Selektoren zählen übrigens auch zu den Attribut-Selektoren; .foo ist identisch mit [class~="foo"]. Das betrifft insbesondere die Spezifität des Selektors.

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi Cheatah,

          einerseits gibt es Attribut-Selektoren: foo[bar="qaz"] wäre einer[1] davon.
          [1] Klassen-Selektoren zählen übrigens auch zu den Attribut-Selektoren; .foo ist identisch mit [class~="foo"]. Das betrifft insbesondere die Spezifität des Selektors.

          und wie und wo schreib ich das hin?

          Andererseits gibt es tatsächlich die :disabled-Pseudoklasse - allerdings erst ab CSS/3.0.

          verdammt

          MfG

          1. Hi,

            einerseits gibt es Attribut-Selektoren: foo[bar="qaz"] wäre einer[1] davon.
            [1] Klassen-Selektoren zählen übrigens auch zu den Attribut-Selektoren; .foo ist identisch mit [class~="foo"]. Das betrifft insbesondere die Spezifität des Selektors.
            und wie und wo schreib ich das hin?

            was genau meinst Du? Wo hast Du Schwierigkeiten?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi,
              naja, ich sollte mir wohl angewöhnen zuerst etwas zu experimentieren als einfach bei einer antwort nachzufragen,

              musst aus <input blabla disabled> ein <input blabla disabled="disabled"> machen und dann in der css:

                
              input.submit[disabled="disabled"] {color: #000000; font-weight: normal; background-color: #FFFFFF}  
              
              

              Vielen dank für eure hilfe.

              MfG

              1. Hi,

                naja, ich sollte mir wohl angewöhnen zuerst etwas zu experimentieren als einfach bei einer antwort nachzufragen,

                und/oder zu recherchieren ;-)

                musst aus <input blabla disabled> ein <input blabla disabled="disabled"> machen

                Spätestens XHTML erlaubt keine wertfreien Attribute mehr, insofern empfiehlt sich dies ohnehin. Es existiert allerdings auch die Möglichkeit, schlicht auf das Vorhandensein eines Attributes hin zu selektieren, unabhängig vom Wert.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Hab zu dem thema allgemein noch ne frage und zwar:

                  könnte ich

                    
                  <td hintrgrund="schwarz">  
                  
                  

                  und dann im css:

                    
                  td[Hintergrund="schwarz"]{background: #000000}  
                  
                  

                  machen und html somit "eindeutschen"???

                  MfG

                  1. Hi,
                    da ich nix bessers momentan zu tun habe hab ichs ausprobiert und es
                    funktioniert, is ja geil. warum hat das noch niemand aufn markt
                    gebracht? deutsch-html? is ja geil ich liebe es.

                    MfG

                  2. Hallo Daniel,

                    <td hintrgrund="schwarz">

                    td[Hintergrund="schwarz"]{background: #000000}

                      
                    Das Attribut hintrgrund existiert in HTML nicht, dein Beispiel  
                    funktioniert nicht. Verwende existierende Attribute,  
                    mit denen geht das.  
                      
                    Gruß  
                    Alexander Brock
                    
                    -- 
                    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}  
                      
                    <http://againsttcpa.com>
                    
                    1. Hi Alexander Brock,

                      <td hintrgrund="schwarz">

                      td[Hintergrund="schwarz"]{background: #000000}

                      
                      >   
                      > Das Attribut hintrgrund existiert in HTML nicht, dein Beispiel  
                      > funktioniert nicht. Verwende existierende Attribute,  
                      > mit denen geht das.  
                        
                      wenn ich mich nicht vertippt hät sähe es so aus und es würde funktionieren:  
                        
                      ~~~html
                        
                      <td Hintergrund="schwarz">  
                      td[Hintergrund="schwarz"]{background: #000000}  
                      
                      

                      MfG

                      1. Hallo Daniel,

                        wenn ich mich nicht vertippt hät sähe es so aus und es würde funktionieren:

                        <td Hintergrund="schwarz">
                        td[Hintergrund="schwarz"]{background: #000000}

                          
                        Ich habe gerade keine Möglichkeit, das zu testen, aber Browser[tm]  
                        sollten den CSS-Code ignorieren. Unabhängig davon, ob das in  
                        irgendwelchen Browsern funktioniert ist es nicht valide.  
                          
                        Überlege dir, warum du die Tabellenzelle besonders kennzeichnen möchtest  
                        und vergib dann eine ID oder eine Klasse.  
                          
                        Gruß  
                        Alexander Brock
                        
                        -- 
                        SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}  
                          
                        <http://againsttcpa.com>
                        
                        1. Hi,

                          Ich habe gerade keine Möglichkeit, das zu testen, aber Browser[tm]
                          sollten den CSS-Code ignorieren.

                          Sehe ich anders.
                          Der CSS-Code sollte durchaus beachtet werden - aber das ungültige HTML-Attribut sollte ignoriert werden.

                          Daß sich als logische Folge daraus ergibt, daß dieser CSS-Code nicht angewendet wird, weil der Selektor nichts selektiert, ist was anderes.

                          irgendwelchen Browsern funktioniert ist es nicht valide.

                          Aber nicht im CSS, sondern im HTML.

                          cu,
                          Andreas

                          --
                          Warum nennt sich Andreas hier MudGuard?
                          Schreinerei Waechter
                          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                          1. Hallo,

                            Der CSS-Code sollte durchaus beachtet werden - aber das ungültige HTML-Attribut sollte ignoriert werden.
                            Daß sich als logische Folge daraus ergibt, daß dieser CSS-Code nicht angewendet wird, weil der Selektor nichts selektiert, ist was anderes.

                            Ist das eine logische Folge? Der CSS-Selector selektiert doch das _Element_ TD. Das gibt es aber, wenn _nur_ das ungültige Attribut ignoriert wird. CSS hat nicht nochmals die Aufgabe, die Gültigkeit der Attribute zu prüfen. Es wird also solange funktionieren, wie der HTML-Parser _nur_ ignoriert, ohne mit Fehlermeldung abzubrechen, wie es XML-Parser tun würden.

                            viele Grüße

                            Axel

                            1. Hi,

                              Ist das eine logische Folge? Der CSS-Selector selektiert doch das _Element_ TD.

                              nein, er selektiert alle td-Elemente, deren Hintergrund-Attribut den Wert "schwarz" besitzt. Das ist _ein_ Selektor.

                              Das gibt es aber, wenn _nur_ das ungültige Attribut ignoriert wird. CSS hat nicht nochmals die Aufgabe, die Gültigkeit der Attribute zu prüfen.

                              CSS hat überhaupt keinen Schimmer davon, welchen Regeln das Dokument unterliegt, und kümmert sich auch nicht darum. Wenn aber das Hintergrund-Attribut wegen seiner Ungültigkeit eliminiert wurde, gibt es schlicht und ergreifend kein Element mehr, auf welches der Selektor passt.

                              Es wird also solange funktionieren, wie der HTML-Parser _nur_ ignoriert, ohne mit Fehlermeldung abzubrechen, wie es XML-Parser tun würden.

                              Ja, solange das unbekannte Attribut nur ignoriert wird, weil der Browser dahinter keine Funktion sieht, klappt alles. Wird es jedoch eliminiert, weil der Browser weiß, dass es das nicht gibt, greift der Selektor nicht mehr. Beides ist möglich und erlaubt.

                              Cheatah

                              --
                              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                              X-Will-Answer-Email: No
                              X-Please-Search-Archive-First: Absolutely Yes
                      2. Hallo,

                        wenn ich mich nicht vertippt hät sähe es so aus und es würde funktionieren:

                        <td Hintergrund="schwarz">
                        td[Hintergrund="schwarz"]{background: #000000}

                        Ja, aber es ist deswegen trotzdem nicht korrekt.  
                          
                        Ein HTML-Dokument basiert auf einer DTD (DokumentTypeDefinition). Diese gibst Du im Prolog des Dokuments an:  
                          
                        Beispiel:  
                        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
                             "http://www.w3.org/TR/html4/strict.dtd">  
                          
                        Ein validierender HTML-Parser würde nun beim Umsetzen des HTML-Codes in darzustellende Elemente jeweils prüfen, ob es das Element, bei Dir TD, in der DTD gibt, aber auch, ob es das Attribut, bei Dir hintergrund, für dieses Element in dieser DTD gibt. Wenn nicht, müsste er eigentlich mit einer Fehlermeldung abbrechen. In der DTD <http://www.w3.org/TR/html4/strict.dtd> gibt es für TD nur die Attribute  
                          
                        <!ATTLIST (TH|TD)                      -- header or data cell --  
                          %attrs;                              -- %coreattrs, %i18n, %events --  
                          abbr        %Text;         #IMPLIED  -- abbreviation for header cell --  
                          axis        CDATA          #IMPLIED  -- comma-separated list of related headers--  
                          headers     IDREFS         #IMPLIED  -- list of id's for header cells --  
                          scope       %Scope;        #IMPLIED  -- scope covered by header cells --  
                          rowspan     NUMBER         1         -- number of rows spanned by cell --  
                          colspan     NUMBER         1         -- number of cols spanned by cell --  
                          %cellhalign;                         -- horizontal alignment in cells --  
                          %cellvalign;                         -- vertical alignment in cells --  
                          >  
                          
                        Es "funktioniert" also nur, weil Du das zweifelhafte ;-) "Glück" hast, dass die Browser bisher keine validierenden HTML-Parser nutzen, sondern falsche Elemente bzw. Attribute einfach ignorieren bzw., dass das CSS eben auch falsche Attribute selectiert. Zukunftssicher ist das aber nicht, da spätestens XHTML auch als XML und damit validierend geparst werden können sollte.  
                          
                        viele Grüße  
                          
                        Axel  
                          
                        
                        
                  3. Hi,

                    könnte ich
                    <td hintrgrund="schwarz">
                    und dann im css:
                    td[Hintergrund="schwarz"]{background: #000000}
                    machen und html somit "eindeutschen"???

                    um das ganze noch mal zusammenzufassen:

                    • Im Prinzip ja. Ein (X)HTML-Dokument wird damit aber invalide, was hinreichende Bedingung dafür sein kann (und darf!), dass es _nicht_ funktioniert.

                    • Wenn Du Dir selbst ein XML-Derivat erstellst, ist das somit überhaupt kein Problem.

                    • Vom fehlenden "e" abgesehen: CSS ist case-insensitive, Groß- und Kleinschreibung ist also egal. Ein Attributname ist jedoch nicht Teil von CSS, sondern des zugrunde liegenden Dokuments. Ist dieses case-sensitive, so wird ein [Hintergrund]-Selektor niemals auf ein hintergrund-Attribut ansprechen.

                    Fazit: Ja, es geht, die Grundbedingung ist aber _immer_ die Validität aller Daten. Wenn Du also statt HTML ÜTAS (ÜberText AuszeichnungsSprache) schreibst und eine entsprechende DTD bereit stellst, ist - von Browserkompatibilitäten abgesehen - alles im grünen Bereich.

                    Cheatah

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes