D3: -moz-user-select überschreiben

Hallo zusammen,

ich habe folgendes HTML:

  
<html>  
<head>  
  <link rel="stylesheet" href="styles.css"/>  
</head>  
<body>  
<DIV style="width: 590px;" class="myStyle">  
  <TABLE cellspacing="0" cellpadding="0" border="0" style="width: 590px;">  
    <TBODY>  
      <TR>  
        <TD tabindex="0" style="width: 83px;">  
          <DIV>  
            <INPUT type="text" value="0" maxlength="30" size="30" name="3:4"/>  
          </DIV>  
        </TD>  
      </TR>  
    </TBODY>  
  </TABLE>  
</DIV>  
</body>  
</html>  

sowie diese CSS-Datei:

  
.myStyle td {line-height:13px; vertical-align:top; padding-left:1px; padding-right:1px; -moz-user-select:none;}  

Aufgrund des -moz-user-select ist der Text des input-Felds im Firefox 2.x sowie 3.x nicht markierbar. Ich suche nun nach einer Möglichkeit, dem input-Feld selbst eine CSS-Eigenschaft zuzuweisen, um den Text markierbar zu machen (an den anderen HTML-Elementen sollten keine Änderungen gemacht werden).

Gefunden habe ich bislang nur die Möglichkeit, dem TD-Element folgenden Style zuzuweisen:

  
.x-selectable, .x-selectable * {  
-moz-user-select: text!important;  
-khtml-user-select: text!important;  
}  

Nur wie gesagt, ich möchte dem input-Element einen passenden Style zuweisen. Selbst wenn ich dem Element die Eigenschaft -moz-user-select: normal gebe, "gewinnt" immer noch der dem übergeordneten TD-Element zugewiesene Style. Ich habe noch keine Möglichkeit gefunden, das -moz-user-select direkt im input-Feld zu überschreiben.

Kann mir jemand weiterhelfen?

Vielen Dank im Voraus und viele Grüsse,
Daniel

  1. Hallo, Daniel!

    .myStyle td {line-height:13px; vertical-align:top; padding-left:1px; padding-right:1px; -moz-user-select:none;}

      
    Dann reicht einfach:  
      
    `.myStyle td input { -moz-user-select: text; }`{:.language-css}  
      
    Aufgrund der höheren Spezifität sollte das Input-Feld dann trotzdem selektierbar sein. Dir ist hoffentlich klar, dass ein solches CSS niemanden ernsthaft davon abhalten kann, Inhalte zu kopieren.  
      
    Gruß, LX
    
    -- 
    RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine wunderbar. (...)
    
    1. Hallo, Daniel!

      »» ~~~css

      »» .myStyle td {line-height:13px; vertical-align:top; padding-left:1px; padding-right:1px; -moz-user-select:none;}
      »»

      
      >   
      > Dann reicht einfach:  
      >   
      > `.myStyle td input { -moz-user-select: text; }`{:.language-css}  
      >   
      > Aufgrund der höheren Spezifität sollte das Input-Feld dann trotzdem selektierbar sein. Dir ist hoffentlich klar, dass ein solches CSS niemanden ernsthaft davon abhalten kann, Inhalte zu kopieren.  
      >   
      > Gruß, LX  
        
      Hallo LX,  
        
      vielen Dank für deine Antwort. Leider bringt sie nicht den gewünschten Effekt, dh. der Text ist immer noch unmarkierbar. Ich habe einen zweiten Style definiert wie folgt:  
      ~~~css
        
      .myStyle td input {-moz-user-select:text; background-color: #FF0000;}  
      
      

      Das Textfeld ändert die Hintergrundfarbe, dh. der Style gilt, allerdings bleibt der Text unmarkierbar. Auch eine Änderung der Reihenfolge in der CSS-Datei bringt keine Verbesserung. Firefox scheint das -moz-user-select zu ignorieren wenn es einmal mit "none" angegeben wurde.

      Hast du noch eine Idee? Das HTML um das Input-Feld ist übrigens generiert, daher für mich nicht änderbar. Ich kann nur auf alles innerhalb des TD-Elements zugreifen und muss dort ein Textfeld darstellen, in welchem der Text im Firefox markierbar ist.

      Viele Grüsse
      Daniel

      1. In diesem Fall gehe ich davon aus, dass die Unmarkierbarkeit vererbt wird, so dass sie nicht einfach überschrieben werden kann. Einzige Lösung: drehe die Logik um und mache nur die Stellen unmarkierbar, die dies auch sein sollen (bspw. innerhalb von p-Tags o.ä.).

        Gruß, LX

        --
        RFC 1925, Satz 3: Mit ausreichendem Schub fliegen Schweine wunderbar. (...)