Tablo satırına kenarlık alt kısmı ekle <tr>


386

3 x 3 bir tablo var. Her satırın alt için bir kenarlık eklemek trve belirli bir renk vermek için bir yol gerekir .

İlk önce doğrudan yolu denedim, yani:

<tr style="border-bottom:1pt solid black;">

Ama bu işe yaramadı. Bu yüzden böyle CSS ekledim:

tr {
border-bottom: 1pt solid black;
}

Bu hala işe yaramadı.

CSS kullanmayı tercih ederim çünkü o zaman styleher satıra bir özellik eklemem gerekmiyor . İçin bir borderözellik eklemedim <table>. Umarım bu CSS'mi etkilemez.


Bir yan not olarak, satır içi stil (sorunuzdaki ilk örnek) çalışmıyorsa, gömülü stilin (ikinci örnek) işe yaraması olası değildir. Ayrıca stilini oluşturmaya çalıştığınız öğenin özelliklerinin kullanılabilirliğini de araştırmalısınız: w3.org/TR/html-markup/tr.html
Tass

Tablonun tr için bir sınır alt olmasını istiyorsanız, bu jsfiddle.net/7awN4
AllenC

6
Gelecekteki araştırmacıları @Nathan Manousos'un cevabına doğru ilerlemeye teşvik etmek için bir not, aşağıda - muhtemelen aradığınız çözüm
henry

Yanıtlar:


400

Daha önce böyle bir sorunum vardı. trDoğrudan bir kenarlık stili alabileceğini sanmıyorum . Benim geçici çözüm tds satırındaki stil oldu :

<tr class="border_bottom">

CSS:

tr.border_bottom td {
  border-bottom:1pt solid black;
}

27
Bu çözümü kullanarak büyük olasılıkla td'ler arasındaki sınırda bir boşluk olacağını unutmayın. simoncereska'nın cevabı bununla ilgilenir, ancak noktalı veya kesikli kenar türleriyle hoş görünmeyebileceğini unutmayın (sürekli olmadıkları için)
Griddo

24
Bunu cellspacing="0"bir öznitelik olarak ekleyerek de çözebilirsiniz <table>( bu soruya bakın ). Ancak bunun noktalı veya kesik kenarlıklarla nasıl görüneceğini bilmiyorum.
Stefan van den Akker

5
trçöken kenarlık modelinde kenarlık stilini alabilir. @Sangram, bunun yerine bunu dikkate alan bir yanıtı kabul etmeyi düşünün, değil mi?
Robert Siemer

Tablo hücreleri arasında dolgu varsa bu çalışmaz. Dolgu varsa, kenar görsel olarak bölünecektir.
Timothy Gonzalez

ve tablonuzun bu stile ihtiyacı var <table style = "border-collapse: collapse">
Oğuz

511

border-collapse:collapseTablo kuralınıza ekleyin :

table { 
    border-collapse: collapse; 
}

bağlantı


2
Bu kendi başına çalışmaz. Hala satıra stil uygulayamazsınız, ancak hücrelere stil uygulayabilirsiniz.
Renan

49
Yanılıyorsun @Renan. Çöken kenarlık modeli, tam olarak satır kenarlıklarını stylable yapan modeldir. Göre 17.6 sectoin CSS : Ayrı sınır modelinde “Sıralar, [...] sınırları (yani kullanıcı arayüzlerinin bu elemanlar için sınır özelliklerini göz ardı olmalıdır) sahip olamaz.” “Çöken sınır modelinde, bir hücrenin, satır [ve] satır grubunun [...] tamamını veya bir kısmını çevreleyen kenarlıklar belirtmek mümkündür ve bu arada: tarayıcımda çalışıyor (Chromium 37).
Robert Siemer

12
Bazı insanların kafam karışmış olabileceğini düşünüyorum (benim yaptığım gibi) ve border-collapse stilinin satırda değil, masada ayarlanması gerektiğini fark etmiyor olabilirsiniz.
Porlune

Kenarlık daraltma özelliklerinin diğerlerini desteklese de, Chrome'un bu özelliğe sahip olmadığı anlaşılıyor.
Liqun Sun

72

border-collapse:collapseMasa ve border-bottom: 1pt solid black;tr üzerinde kullanın


6
tr'de kenarlık ayarlamak, kenarlık daraltılmış olsa bile işe yaramaz. tr tds ayarlamak zorunda
Radu Simionescu

9
@RaduSimionescu Yanlış, trsınır daraltılmış halde mükemmel çalışıyor .
Styphon

FF 45.0.1'de etkisi yoktur.
imrek

41

kullanım

border-collapse:collapse Nathan'ın yazdığı ve

td { border-bottom: 1px solid #000; }


Ben de bu şekilde! TD'ye kenarlığı ekleyin ve masaya kenar çöküşünü kullanın
Sayan

30

Burada pek çok eksik cevap var. Eğer kenarlık uygulayamaz yana tretiketi, sen bunu uygulamak gerekmez tdya thşöyle etiketler:

td {
  border-bottom: 1pt solid black;
}

Bunu yaptığınızda td, her biri arasında küçük bir boşluk bırakılır; bu, kenarlığın etiketmiş gibi görünmesini istiyorsanız büyük olasılıkla istenmez tr. "Boşlukları doldurmak" için, öğedeki border-collapseözelliği kullanmanız tableve değerini şu şekilde ayarlamanız collapsegerekir:

table {
  border-collapse: collapse;
}

8

kullanım

table{border-collapse:collapse}
tr{border-top:thin solid}

"İnce katı" yı CSS özellikleri ile değiştirin.


7

Satırı bir blok olarak görüntüle.

tr {
    display: block;
    border-bottom: 1px solid #000;
}

ve alternatif renkleri kolayca görüntülemek için:

tr.oddrow {
    display: block;
    border-bottom: 1px solid #F00;
}

11
Ayarlamakdisplay: blockiçin iyi bir fikir değiltr 's. Kullanımtr td { border-bottom: ... }reklamtr.oddrow td { border-bottom: ... }yerine
vladr

4
görüntü bloğu tablo layout.border-çöküş yok olabilir: masanın kendisinde çöküşü kesinlikle en iyi çözümdür
N4ppeL

7

box-shadowBir tröğenin kenarlığını taklit etmek için özelliği kullanabilirsiniz . box-shadowKalınlığı ayarlamak için Y konumunu (aşağıda 2 piksel olarak temsil edilir) ayarlayın.

tr {
  -webkit-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  -moz-box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
  box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.99);
}

6

Eklemeyi denedim

    table {
      border-collapse: collapse;
    }   

yanında

    tr {
      bottom-border: 2pt solid #color;
    }

ve sonra neyin işe yaradığını görmek için sınır çöküşünü yorumladı. Sadece alt sınır özellikli tr seçicinin benim için çalışmasını sağladı!

Sınır CSS yok ex.

Sınır CSS yok ex.

Canlı Sınır Fotoğrafı Yok

Canlı Sınır Fotoğrafı Yok

CSS Sınırı ör.

CSS Sınırı ör.

Sınır fotoğrafı canlı içeren tablo

Sınır fotoğrafı canlı içeren tablo


2

Bu yöntemi kullanırken, td elemanları arasındaki boşluğun sınırda bir boşluğa neden olduğunu, ancak korkusu olmadığını buldum ...

Bunun bir yolu:

<tr>
    <td>
        Example of normal table data
    </td>

    <td class="end" colspan="/* total number of columns in entire table*/">
        /* insert nothing in here */ 
    </td>
</tr>

CSS ile:

td.end{
    border:2px solid black;
}

2

<td style="border-bottom-style: solid; border-bottom: thick dotted #ff0000; ">

Aynısını tüm satıra da yapabilirsiniz.

Orada border-bottom-style, border-top-style, border-left-style, border-right-style. Ya da sadeceborder-style bu aynı anda dört sınırın tümüne uygulanır.

Daha fazla bilgiyi burada görebilirsiniz (ve KENDİNİZİ çevrimiçi DENEYİN )


2

Birkaç ilginç cevap. Sadece bir kenar alt (veya üst) istediğiniz için iki tane daha var. 3 piksel kalınlığında mavi bir kenarlık istediğinizi varsayarsak. Stil bölümüne ekleyebilirsiniz

.blueB {background-color:blue; height:3px} or
hr {background-color:blue; color:blue height:3px}

Tablo kodunda da

<tr><td colspan='3' class='blueB></td></tr> or
<tr><td colspan='3'><hr></td></tr>

1

Buna başka bir çözüm de border-spacingmülktür:

table td {
  border-bottom: 2px solid black;
}

table {
  border-spacing: 0px;
}
<table>
 <tr>
   <td>ABC</td>
   <td>XYZ</td>
</table>


1

Altta CSS sınırı yok:

<table>
    <thead>
        <tr>
            <th>Title</th>
        </tr>
        <tr>
            <th>
                <hr>
            </th>
        </tr>
    </thead>
</table>

0

Tr öğesine sınır koyamazsınız. Bu benim için firefox ve IE 11'de çalıştı:

<td style='border-bottom:1pt solid black'>

tr üzerine sınır koyamazsınız. Bunu netleştirmek için cevap düzenlendi.
Mart'ta Decko

Bu en basit ve en doğru cevap.
JamesC

-3

HTML

<tr class="bottom-border">
</tr>

CSS

tr.bottom-border {
  border-bottom: 1px solid #222;
}

2
sınır çöküşü olmadan işe yaramaz: çöküş;
m1crdy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.