Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

CSS Fehler ?

Empfohlene Antworten

hu,

Problem

ich habe zwei tabellen, das eine ist ein Formular und innerhalb des Formulars eine art liste.

Die Tds der Liste haben jeweils eine CSS-Klasse angegeben

<tr><td class="line_a"></td></tr>

<tr><td class="line_b"></td></tr>

<tr><td class="line_a"></td></tr>

nun habe ich ein CSS das besagt

<style>

formulartabelle tr td

{

background-color: red

}

.line_a

{

background-color: green;

}

.line_b

{

background-color: blue;

}

</style>

die farben sind beispielhaft und der code auch ;) daran liegts nicht.

Aber die reihenfolge der CSS-Klassen stimmt

das Problem ist, jetzt sind alle zellen rot.

wobei nach meiner Logik, die Line_a und line_b eine höhere Priorität haben sollten, da sie näher an den Td definiert sind.

bitte korrigiert mich und oder gebt mir einen tip wie ich es löse ;)

danke

leider habe ich jetzt gerade keinen Zugriff drauf, aber ungefähr:

(xhtml 1.1-header)


<style type="text/css">

.formtable

{

  border-collapse: collapse;

}

.formtable tr td

{

  background-color: red;

  border: 2px solid blue;

}

.listtable_header

{

  background-color: black;

  font-weight: bold;

}

.listtable_a

{

  background-color: #FFFFFF;

}

.listtable_b

{

  background-color: green;

}

</style>

</head>

<body>

<table class="formtable">

<tr>

<td>Titelsowieso</td>

<td>eingabefeld sowieso2</td>

</tr>

<tr>

<td>Titelsowieso-2</td>

<td>


<!-- LISTENTABELLE -->


<table>

<tr>

<td class="listtable_a">erste Zeile</td>

<td class="listtable_a">erste Zeile-Feld 2</td>

</tr>

<tr>

<td class="listtable_b">zweite Zeile</td>

<td class="listtable_b">zweite Zeile-Feld 2</td>

</tr>

<tr>

<td class="listtable_a">dritte Zeile</td>

<td class="listtable_a">dritte  Zeile-Feld 2</td>

</tr>

</table>

<!-- LISTE ENDE -->


</td>

</tr>

</table>

</body>

bitte diese farben nicht wirklich ausprobieren, nur beispielhaft *g*

Spannend :beagolisc

Ich hätte es schlicht nochmal auf Elemente innerhalb der "formtable"-Tabelle bezogen:

[B].formtable[/B] .listtable_a

{

  background-color: #FFFFFF;

}

[B].formtable[/B] .listtable_b

{

  background-color: green;

}

das funktioniert leider nicht, denn die Listtable kann auch alleine auftauchen.

Important hat funktioniert, nur leider verstehe ich es nicht.

Ich habe mir nochmal CSS-Selektoren angesehen.

An sich müsste .listtable_a vor einem übergeordneten .formtable tr td

haben. genauso wie style vorrang vor .listtable_a hat.

Ansonsten macht die ganze Kaskadierung ja wenig sinn ^^

An sich müsste .listtable_a vor einem übergeordneten .formtable tr td

haben. genauso wie style vorrang vor .listtable_a hat.

Ansonsten macht die ganze Kaskadierung ja wenig sinn ^^

Die Klasse (.listtable_a) und das Tag (td) sind ja auf der gleichen Ebene (in deinem Fall). In CSS wird dann wohl dem Tag der Vorrang gegeben. Das kannst du jetzt für sinnlos halten, aber die Leute werden sich dabei schon was gedacht haben.

Außerdem ist dein Tag genauer definiert (.formtable tr td und nicht nur eine Klasse), was es also auf jeden Fall bedeutender macht. Je genauer die Angabe desto wichtiger ist es in CSS.

Das hat nichts damit zu tun, dass du ja siehst, was du meinst ;)

ok, ich muss wohl meine Meinung über CSS überdenken *g*

Super unflexibel diese Art der Priorisierung.

Interessant ist, ich habe es mal weiter versucht.

- ohne !important

- mit .formtable * td statt .formtable tr td

Ergebnis:

nun hat das padding der Formtable immernoch priorität vor dem padding der .listtable_a

background-color jedoch nicht mehr, die wird jetzt korrekt dargestellt.

mit important hat er style="" ignoriert, was mir dann auch nichts bringt, da es individuelle spaltenbreiten gibt die dort festgelegt werden müssen.

(tested in IE7, FF)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.