2012-04-11 2 views
1

У меня есть таблица как это, и я хочу применить стиль к каждой строке с закругленным углом.Радиус рамки для каждой строки в таблице

<table> 
    <tr> 
    <td>Month</td> 
    <td>Savings</td> 
    </tr> 
    <tr> 
    <td>January</td> 
    <td>$100</td> 
    </tr> 
    <tr> 
    <td>February</td> 
    <td>$80</td> 
    </tr> 
</table> 

И я написал CSS как это.

td 
{ 
border-radius:5px; 
border:2px solid red; 
} 

У меня есть несколько столбцов, и я хочу показать строки в закругленном углу. Когда я пытаюсь сделать это для одной ячейки, я могу ее достичь. Кто-нибудь мне помогает.

Спасибо заранее, Karthick

На самом деле я хочу, выход, как это, но есть разница между каждой ячейки в строке. Я пробовал использовать интервал между ячейками, но я не могу получить.

td { border: solid 1px #000; } 
tr td:first-child 
{ 
    border-top-left-radius: 10px; 
    border-bottom-left-radius: 10px; 
    border-right:none; 
} 
tr td:last-child 
{ 
border-top-right-radius: 10px; 
border-bottom-right-radius: 10px; 
border-left:none; 
} 

/````````````````````\ 
\..................../ 
/````````````````````\ 
\..................../ 
/````````````````````\ 
\..................../ 

Мои ряды, как показано на рисунке, имеют сплошные границы.

+1

увидеть это nswer http://stackoverflow.com/questions/4094126/border-radius-on-tr – Timmerz

+0

@Timmerz: Эти ответы касались предоставления закругленного угла и совместимости с браузером. Я не получил ожидаемых ответов там. Благодарю. – flykarthick

ответ

1
tr { 
    border-radius:5px; 
    border:2px solid red; 
} 

Изменить одну букву, d к r (td к tr).

Редактировать: К сожалению, вы не можете применить границу к tr. Попробуйте это «взломать» вместо этого, заимствованные из here:

table { border-collapse: separate; } 
td { border: solid 1px #000; } 
tr:first-child td:first-child { border-top-left-radius: 10px; } 
tr:first-child td:last-child { border-top-left-radius: 10px; } 
tr:last-child td:first-child { border-top-left-radius: 10px; } 
tr:last-child td:last-child { border-top-left-radius: 10px; } 
+0

Радиус границы не будет работать для tr. – flykarthick

+0

Если вы дадите tr, тогда вся граница сломается. – flykarthick

+0

@ Karthick: Это правда, см. Мой обновленный ответ. –

0

вы можете попробовать что-то вроде этого ... однако, вы должны просто использовать <div> вместо <table>

<style> 

table 
{ 
border-collapse:separate; 
border-spacing:1px; 
} 

td 
{ 
background-color:red; 
} 

td:first-child 
{ 
border-top-left-radius:5px; 
border-bottom-left-radius:5px; 
border:2px solid red; 
} 

td:last-child 
{ 
border-top-right-radius:5px; 
border-bottom-right-radius:5px; 
border:2px solid red; 
} 


</style> 

<table> 
    <tr> 
    <td>Month</td> 
    <td>Savings</td> 
    </tr> 
    <tr> 
    <td>January</td> 
    <td>$100</td> 
    </tr> 
    <tr> 
    <td>February</td> 
    <td>$80</td> 
    </tr> 
</table> 
+0

Справа, но я получаю промежуток между каждой ячейкой в ​​строке. – flykarthick

+0

вы должны использовать div с закругленными углами. таблицы не поддерживают это очень хорошо. – Timmerz

+0

Это автоматически созданная таблица агентом. Я не могу использовать там какой-либо материал DIV. А также множество селекторов jQuery, действующих на эту таблицу. Единственный способ для меня - применить CSS. Любая помощь...? – flykarthick

5

вы можете написать так:

td:first-child{ 
    -moz-border-radius:10px 0 0 10px; 
    -webkit-border-radius:10px 0 0 10px; 
} 
td:last-child{ 
    -moz-border-radius:0 10px 10px 0; 
    -webkit-border-radius:0 10px 10px 0; 
} 
td{background:red;} 

Проверить это http://jsfiddle.net/RNWwu/1/

+0

Когда я пытаюсь это сделать, я не могу дать пространство между строками. – flykarthick

Смежные вопросы