Glory: 2 Fragen

Frage 1:

  
<a>  
   <b>  
      <c>  
         <d>  
         </d>  
      </c>  
   </b>  
</a>  

<a>, <b>, usw. sollen einfach verschiedene Blockelemente darstellen. Ich möchte nun mit CSS erreichen, dass beim Berühren von <c> mit der Maus sich z.B. die Hintergrundfarbe von <d> ändert. Geht das alleine mit CSS? Wenn ja, wie?

Frage 2:

  
<input type="file">  

Wie kann ich mit CSS die Größe des Eingabefeldes beeinflussen?
(So wie es in HTML mit size="50" geht)

Folgendes geht nicht:

  
input  
{  
   background: blue; /* funktioniert */  
   size: 50; /* Keine Fehlermeldung in der Firefoxkonsole, aber es passiert nix. Andere Einheiten bringen auch nix. */  
   width: 200px; /* bringt auch nichts */  
}  

  1. Grütze .. äh ... Grüße!

    <a>, <b>, usw. sollen einfach verschiedene Blockelemente darstellen. Ich möchte nun mit CSS erreichen, dass beim Berühren von <c> mit der Maus sich z.B. die Hintergrundfarbe von <d> ändert. Geht das alleine mit CSS? Wenn ja, wie?

    mit
    c:hover d {

    Schau hier:

    Natürlich muß man dem IE < 7 wie immer mit Javascript nachhelfen, wenn c kein <a> ist

    Folgendes geht nicht:
    input
    {
       width: 200px; /* bringt auch nichts */

    Nein, denn Input ist kein Block-Element, sondern ein Inline-Element. Die haben keine Breite. (was du ändern kannst ;) )


    Kai

    --
    Der vertuschte Gefahrstoff: Dihydrogenmonoxid
    What is the difference between Scientology and Microsoft? One is an
    evil cult bent on world domination and the other was begun by L. Ron
    Hubbard.
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
    1. mit
      c:hover d {

      Schau hier:

      Natürlich muß man dem IE < 7 wie immer mit Javascript nachhelfen, wenn c kein <a> ist

      Ah, danke. Geht das auch rückwärts? Von <c> auf <b> zugreifen? Es gibt ja :first-child. Gibt es auch so etwas wie :first-parent?

      Folgendes geht nicht:
      input
      {
         width: 200px; /* bringt auch nichts */

      Nein, denn Input ist kein Block-Element, sondern ein Inline-Element. Die haben keine Breite. (was du ändern kannst ;) )

      Ich weiß :(, ich wollte damit nur meine Verzweiflung klar machen! :P
      Kann ich das mit CSS also nicht beeinflussen? Dann muss wieder Javascript her.

      1. Hello out there!

        Geht das auch rückwärts? Von <c> auf <b> zugreifen?

        Nein.

        Nein, denn Input ist kein Block-Element, sondern ein Inline-Element. Die haben keine Breite.

        Nicht-ersetzte Inline-Elemente haben keine [CSS2 §10.2], 'input' scheint kein solches zu sein, da es sensiblel für 'width'-Angaben ist. Jedenfalls solche mit 'type="text"'.

        Kann ich das mit CSS also nicht beeinflussen?

        Anscheinend nicht bei 'type="file"'. Die Box wird wohl vom Betriebssystem zur Verfügung gestellt, und wenn das keine Eingriffe erlaubt ...

        Dann muss wieder Javascript her.

        ... dann hilft wohl auch JavaScript nichts.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. ... dann hilft wohl auch JavaScript nichts.

          Doch, ich kann die Größe des Feldes mit size="(int)" beeinflussen und auch mit Javascript dynamisch darauf zugreifen und die Größe ändern.

      2. Grütze .. äh ... Grüße!

        Ah, danke. Geht das auch rückwärts? Von <c> auf <b> zugreifen? Es gibt ja :first-child. Gibt es auch so etwas wie :first-parent?

        Das hätte ich mir auch schon so oft gewünscht. Geht nur über Javascript,
        also nur sehr bedingt einsetzbar (für nicht _unbedingt_ notwendige Effekte)

        Ich weiß :(, ich wollte damit nur meine Verzweiflung klar machen! :P
        Kann ich das mit CSS also nicht beeinflussen? Dann muss wieder Javascript her.

        Es "geht" es bei mir (width im CSS), mit diversen Input-Types getestet. Keine Ahnung,
        was bei dir scheifläuft.


        Kai

        --
        Der vertuschte Gefahrstoff: Dihydrogenmonoxid
        What is the difference between Scientology and Microsoft? One is an
        evil cult bent on world domination and the other was begun by L. Ron
        Hubbard.
        ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|