2016-10-31 10 views
3

Wie kann ich nur eine Zelle einer Tabelle schweben lassen? Ich möchte nicht die ganze Reihe schweben. Hier ist meine Tabelle HTML:Schwebt nur eine Zelle einer Tabelle

<table class="table table-hover table-bordered"> 
    <thead> 
     <tr> 
      <th class="danger" colspan="4">Comprobante de Pago</th> 
     </tr> 
    </thead> 
     <tr> 
      <td class="warning" width="10%">Fecha:</td> 
      <td colspan="2" id="vertical_align">sdf</td> 
     </tr> 
     <tr> 
      <td rowspan="3" colspan="1" class="asd">Client</td> 
      <td colspan="1">NAME</td> 
      <td colspan="1">NAME 2</td> 
     </tr> 
     <tr> 
      <td colspan="2">asd</td>  
     </tr> 
     <tr class="info"> 
      <td colspan="3">asd</td> 
     </tr> 

Hinweis: Ich bin mit Bootstrap für den Schwebe. (Es macht mir nichts aus, wenn das Problem ohne Bootstrap behoben werden kann.)

+0

Haben Sie versucht, eine Klasse zu der 'dann mit' .myclass: Hover "in der CSS ? – mhatch

Antwort

-1

Sie müssen bootsrap Regeln mit einer Wahl strong enough : see specifity zu überschreiben.

Scheint tr:hover zu werden hier zunächst zurück:

.table.table-hover.table-bordered tr:hover {/* selector strong enough to overwrite bootsrap rule */ 
    background:none;/* remove bg */ 
} 

dann die Regel, die Sie Ihre tds müssen anwenden, alle Attribute hier verwendet mit (Klasse, id, colspan, rowspan, ...)

.table.table-hover.table-bordered tr:hover { 
 
    background: none; 
 
} 
 
td:hover { 
 
    background: lightgray; 
 
} 
 
/* a few selector examples */ 
 
td[colspan]:hover { 
 
    background: lime; 
 
} 
 
td[colspan] + td[colspan]:hover { 
 
    background:turquoise; 
 
} 
 
td[colspan="2"]:hover { 
 
    background: gold; 
 
} 
 
td[rowspan]:hover { 
 
    background: tomato; 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<table class="table table-hover table-bordered"> 
 
    <thead> 
 
    <tr> 
 
     <th class="danger" colspan="3">Comprobante de Pago</th> 
 
    </tr> 
 
    </thead> 
 
    <tr> 
 
    <td class="warning" width="10%">Fecha:</td> 
 
    <td colspan="2" id="vertical_align">sdf</td> 
 
    </tr> 
 
    <tr> 
 
    <td rowspan="3" class="asd">Client</td> 
 
    <td colspan="1">NAME</td> 
 
    <td colspan="1">NAME 2</td> 
 
    </tr> 
 
    <tr> 
 
    <td colspan="2">asd</td> 
 
    </tr> 
 
    <tr class="info"> 
 
    <td colspan="2">asd</td> 
 
    </tr> 
 
</table>

Hinweis: i den Tabellencode über rowspan undaktualisiertWerte (colspan="1" nicht einmal nedd gesetzt werden, ist es defaut Wert)

+0

Vielen Dank, auch würde ich gerne wissen, wie man verschiedene Breite Größen auf die Zelle" Fecha: "und auf die Zelle" Client ", wie Sie feststellen, ich habe 10% der Breite für die Zelle gesetzt" Fecha ", aber wenn ich möchte 30% auf die Zelle" Client "setzen, erlaubt es mir nicht. – Jplaudir8

+0

oh, also ist es nicht möglich 2 Zellen mit verschiedenen Breiten zu haben? – Jplaudir8

+0

@JoanPerezLozano ** Sie müssen es austricksen **, als ob es auf ein paar mehr Spalten gebaut wäre, um es zu brechen. http://codepen.io/anon/pen/PGMqWZ ** Eigentlich '.asd' und' .warning' gehören zu derselben Spalte, sie werden trotzdem die gleiche Breite haben ** :( –

0

Wenden Sie die Formatierung auf das TD-Element.

.table td:hover{ 
    background-color: green; 
} 
0

, die den Trick tun sollten ...

table tr td:hover{ 
 
    background-color:red; 
 
    }
<table class="table table-hover table-bordered"> 
 
     <thead> 
 
      <tr> 
 
       <th class="danger" colspan="4">Comprobante de Pago</th> 
 
      </tr> 
 
     </thead> 
 
      <tr> 
 
       <td class="warning" width="10%">Fecha:</td> 
 
       <td colspan="2" id="vertical_align">sdf</td> 
 
      </tr> 
 
      <tr> 
 
       <td rowspan="3" colspan="1" class="asd">Client</td> 
 
       <td colspan="1">NAME</td> 
 
       <td colspan="1">NAME 2</td> 
 
      </tr> 
 
      <tr> 
 
       <td colspan="2">asd</td> 
 

 
      </tr> 
 
      <tr class="info"> 
 
       <td colspan="3">asd</td> 
 
      </tr> 
 

 
</table>

0

Versuchen Sie, diese

table td:hover{ 
    background-color: magenta; 
} 

dann die Klasse entfernen table-hover hier <table class="table table-hover table-bordered">

-1

können Sie wichtig verwenden.

.table td:hover{ 
    background-color: red !important; 
} 
+0

Würde dies nicht für alle Tabellenzellen gelten? OP fragt, wie man "nur einen" schwebt – mhatch

+0

Ich denke, dass Sie eine Klasse oder eine ID verwenden können: –

+0

'.table .asd: Hover { Hintergrundfarbe: rot! Wichtig; } ' –

Verwandte Themen