Style the first column of a table differently

后端 未结 5 704
清歌不尽
清歌不尽 2020-12-25 09:19

If I have a table with two columns, how do I specify a padding or any other css so that it is applied just for the first column of

相关标签:
5条回答
  • 2020-12-25 09:46

    You could use the n-th child selector.

    to target the nth element you could then use:

    td:nth-child(n) {  
      /* your stuff here */
    }
    

    (where n starts at 1)

    0 讨论(0)
  • 2020-12-25 09:48

    To select the first column of a table you can use this syntax

    tr td:nth-child(1n + 2){
      padding-left: 10px;
    }
    
    0 讨论(0)
  • 2020-12-25 09:53

    This should help. Its CSS3 :first-child where you should say that the first tr of the table you would like to style. http://reference.sitepoint.com/css/pseudoclass-firstchild

    0 讨论(0)
  • 2020-12-25 09:54

    The :nth-child() and :nth-of-type() pseudo-classes allows you to select elements with a formula.

    The syntax is :nth-child(an+b), where you replace a and b by numbers of your choice.

    For instance, :nth-child(3n+1) selects the 1st, 4th, 7th etc. child.

    td:nth-child(3n+1) {  
      /* your stuff here */
    }
    

    :nth-of-type() works the same, except that it only considers element of the given type ( in the example).

    0 讨论(0)
  • 2020-12-25 10:01

    If you've to support IE7, a more compatible solution is:

    /* only the cells with no cell before (aka the first one) */
    td {
        padding-left: 20px;
    }
    /* only the cells with at least one cell before (aka all except the first one) */
    td + td {
        padding-left: 0;
    }
    

    Also works fine with li; general sibling selector ~ may be more suitable with mixed elements like a heading h1 followed by paragraphs AND a subheading and then again other paragraphs.

    0 讨论(0)
提交回复
热议问题