2009-11-18 42 views
7

我有一些代碼在TR上刪除了一行,但這意味着我的「Actions」列(只有)按鈕會受到影響。這是因爲按鈕之間存在單獨的空間,這些按鈕之間也存在線條通道。CSS Line-Through不被刪除

閒逛上W3Schools的後,博格爾斯我爲什麼這個例子不起作用:

<html> 
    <head> 
    <style type="text/css"> 

    tr {text-decoration:line-through} 
    </style> 
    </head> 

    <body> 
    <table> 
     <tr> 
     <td>this needs to be line-throughed</td> 
     <td style="text-decoration: none !important;">This shouldn't be line-throughed.</td> 
     </tr> 
    </table> 
    </body> 
</html> 

我怎樣通過行以清除子元素?

編輯 我更新了我的例子 - 問題是我不想從父元素,只是一個子元素。

+0

CSS不能這樣工作。 'h2'和'tr'是容器,所以你不能通過改變他們的孩子的風格來改變他們的風格。查看Zarembisty或德米特里的答案是正常的做法。 – 2009-11-18 20:09:14

回答

0

您不應該爲此使用重要或內聯樣式。嘗試

h2 {text-decoration:line-through;} 
h2 span {text-decoration: none; border: 1px solid black;} 

編輯

在這種情況下,與TR因爲是的,你加文字裝飾它,你必須採取文字修飾過TR TD不相同的元素。否則,這樣做:

tr td { text-decoration: whatever } 

,然後在需要

<td style="text-decoration: none;"></td> 
+0

我已經闡明瞭基於我的例子,但是tr tr適用於所有TD,我只需要一個個人 – JustLoren 2009-11-18 19:57:35

+1

...此外,這個例子不起作用lol – JustLoren 2009-11-18 20:00:17

+0

好點,我應該把line-通過在tds – JustLoren 2009-11-18 20:02:48

1

也有類似question一會兒回來,並根據這個問題的答案,你不能做你要完成的時候。

編輯:鑑於你的榜樣,爲什麼不申請的線通到TD單獨

<html> 
    <head> 
    <style type="text/css"> 

    td.deleted {text-decoration:line-through} 
    </style> 
    </head> 

    <body> 
    <table> 
     <tr> 
     <td class="deleted">this needs to be line-throughed</td> 
     <td>This shouldn't be line-throughed.</td> 
     </tr> 
    </table> 
    </body> 
</html> 
+0

egads,我希望答案不是' t「lawl你上了一條小溪沒有槳」 – JustLoren 2009-11-18 20:01:34

+0

如果有疑問去與先前(德米特里獲勝) – 2009-11-18 20:04:57

0

線通應用到H2,所以你必須把它關閉了H2的元素。

<html> 
    <head> 
    <style type="text/css"> 

    h2 {text-decoration:line-through} 
    h2.alt { text-decoration: none; } 
    h2.alt span { border: 1px solid black; } 
    </style> 
    </head> 

    <body> 
    <h2>Line-through</h2> 
    <h2 class="alt"><span>This is heading 2, and shouldn't be line-throughed.</span></h2> 
    </body> 
</html> 

(可視這裏:http://jsbin.com/anopa/

子(跨度)不能影響父(H2),這是其中應用的風格樣式。你必須改變風格最初應用的地方。

編輯:更新示例來解決這個是改變

tr {text-decoration:line-through} 

tr td {text-decoration:line-through} 

結果

+0

但是,這將失敗的目的,因爲它是一個子元素,我需要它從中刪除,而不是父元素。父元素「需要」擁有它(使用當前設計) – JustLoren 2009-11-18 20:01:03

0

的一種方式,線通過是對個人表格單元格而不是整行。這使您可以在單個單元格上指定不同的樣式。

順便說一句,這個問題似乎並不存在您在IE5.5 +上給出的示例代碼。然而,在FF3.5中,該示例的行爲如您所解釋的。我不確定哪個是真正的正確行爲。

0

嘗試這個

<html> 
    <head> 
    <style type="text/css"> 

    tr td {text-decoration:line-through;} 
    tr td.noline { text-decoration:none;} 

    </style> 
    </head> 

    <body> 
    <table> 
     <tr> 
     <td>this needs to be line-throughed</td> 
     <td class="noline">This shouldn't be line-throughed.</td> 
     </tr> 
    </table> 
    </body> 
</html> 

注意,樣式爲 「TR TD」 兩種。

-1
<td style="text-decoration: none> 

它的工作原理,除非你試圖去交叉是一個鏈接到一個URL。

然後這個短語也擊敗了鏈接。