0

私はテーブルソートプラグインを使用していますが、テーブルががらくたのように見えたので、スタイルを設定してみることにしました。

cssがあまり得意ではないので、オンラインでいくつかの既成のデザインを見つけようとしましたが、次のWebサイトを見つけました。

http://www.csstablegenerator.com/

私はそこから私のcssのためにこのコードを手に入れました:

.CSSTableGenerator {

    margin:0px;padding:0px;

    width:100%;
    box-shadow: 10px 10px 5px #888888;

    border:1px solid #000000;



    -moz-border-radius-bottomleft:0px;

    -webkit-border-bottom-left-radius:0px;

    border-bottom-left-radius:0px;



    -moz-border-radius-bottomright:0px;

    -webkit-border-bottom-right-radius:0px;

    border-bottom-right-radius:0px;



    -moz-border-radius-topright:0px;

    -webkit-border-top-right-radius:0px;

    border-top-right-radius:0px;



    -moz-border-radius-topleft:0px;

    -webkit-border-top-left-radius:0px;

    border-top-left-radius:0px;

}.CSSTableGenerator table{

    width:100%;

    height:100%;

    margin:0px;padding:0px;

}.CSSTableGenerator tr:last-child td:last-child {

    -moz-border-radius-bottomright:0px;

    -webkit-border-bottom-right-radius:0px;

    border-bottom-right-radius:0px;

}

.CSSTableGenerator table tr:first-child td:first-child {

    -moz-border-radius-topleft:0px;

    -webkit-border-top-left-radius:0px;

    border-top-left-radius:0px;

}

.CSSTableGenerator table tr:first-child td:last-child {

    -moz-border-radius-topright:0px;

    -webkit-border-top-right-radius:0px;

    border-top-right-radius:0px;

}.CSSTableGenerator tr:last-child td:first-child{

    -moz-border-radius-bottomleft:0px;

    -webkit-border-bottom-left-radius:0px;

    border-bottom-left-radius:0px;

}.CSSTableGenerator tr:hover td{



}
.CSSTableGenerator tr:nth-child(odd){ background-color:#aad4ff; }

.CSSTableGenerator tr:nth-child(even)    { background-color:#ffffff; }
.CSSTableGenerator td{

    vertical-align:middle;





    border:1px solid #000000;

    border-width:0px 1px 1px 0px;

    text-align:left;

    padding:7px;

    font-size:10px;

    font-family:Arial;

    font-weight:normal;

    color:#000000;

}.CSSTableGenerator tr:last-child td{

    border-width:0px 1px 0px 0px;

}.CSSTableGenerator tr td:last-child{

    border-width:0px 0px 1px 0px;

}.CSSTableGenerator tr:last-child td:last-child{

    border-width:0px 0px 0px 0px;

}

.CSSTableGenerator tr:first-child td{

        background:-o-linear-gradient(bottom, #005fbf 5%, #003f7f 100%);    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #005fbf), color-stop(1, #003f7f) );
    background:-moz-linear-gradient( center top, #005fbf 5%, #003f7f 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#005fbf", endColorstr="#003f7f");  background: -o-linear-gradient(top,#005fbf,003f7f);


    background-color:#005fbf;

    border:0px solid #000000;

    text-align:center;

    border-width:0px 0px 1px 1px;

    font-size:14px;

    font-family:Arial;

    font-weight:bold;

    color:#ffffff;

}

.CSSTableGenerator tr:first-child:hover td{

    background:-o-linear-gradient(bottom, #005fbf 5%, #003f7f 100%);    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #005fbf), color-stop(1, #003f7f) );
    background:-moz-linear-gradient( center top, #005fbf 5%, #003f7f 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#005fbf", endColorstr="#003f7f");  background: -o-linear-gradient(top,#005fbf,003f7f);


    background-color:#005fbf;

}

.CSSTableGenerator tr:first-child td:first-child{

    border-width:0px 0px 1px 0px;

}

.CSSTableGenerator tr:first-child td:last-child{

    border-width:0px 0px 1px 1px;

}

問題は、彼らが私にテーブルのコードを提供したかったのですが、私は自分のコードを使用したかったので、2つを一緒にメッシュするのに問題があります。

彼らが私に使用して欲しかったコードはこれです:

<div class="CSSTableGenerator" >
    <table >
        <tr> 
            <td>
                Title 1
            </td>
            <td >
                Title 2
            </td>
            <td>
                Title 3
            </td>
        </tr>
        <tr>
            <td >
                Row 1
            </td>
            <td>
                Row 1
            </td>
            <td>
                Row 1
            </td>
        </tr>
        <tr>
            <td >
                Row 2
            </td>
            <td>
                Row 2
            </td>
            <td>
                Row 2
            </td>
        </tr>
        <tr>
            <td >
                Row 2
            </td>
            <td>
                Row 2
            </td>
            <td>
                Row 2
            </td>
        </tr>
        <tr>
            <td >
                Row 3
            </td>
            <td>
                Row 3
            </td>
            <td>
                Row 3
            </td>
        </tr>
    </table>
</div>

私がそれらを一緒にマッシュしようとすると、私はこれを手に入れます:

ここに画像の説明を入力してください

ご覧のとおり、テーブルヘッダーは行にあり、最初の実際の行はヘッダーのあるべき姿のように見えます...

調査したところ、作成済みのテーブル用に提供されたコードがヘッダーを使用していないことに気付きました...私はthではなくtdに変更し、見栄えがしました。しかし、最初にプログラミングする正しい方法であり、次にjqueryプラグインを使用してテーブルをソートしているため、thが必要です。これがない場合、これは機能しません。

cssとjqueryプラグインを連携させる簡単な方法。私はいくつかのcssを変更する必要がありますが、私はいくつかの異なることを試しました、そしてこのcssは頑固で、簡単に変更しないようです。

どんな助けでも大歓迎です、ありがとう!

テーブルにコードを追加するのを忘れました:

<table id=\"myTable\" class=\"tablesorter\" > 
<thead> 
<tr> 
    <th>Beer Name</th> 
    <th>User Rating</th> 
    <th> Your Rating</th>
</tr> 
</thead> 
<tbody>";

//database call was here, but taken out. Not important to table code



for($i = 0; $i<$FriendBeersNum;$i++){
    $row = $resultBeers->fetch_assoc();
    $fBeerName = $row['beerName'];
    $fBeerRating = $row['rating'];
    $fBeerID = $row['beerID'];

    $beerURL = "beerPage.php?id=$fBeerID";

    //another database call not needed for table help, just getting info for table


    if( $myBeerNum > 0){
        $rowMyBeer = $resultMyBeer->fetch_assoc();
        $myrating = $rowMyBeer['rating'];
    }

    else { $myrating = "N/A";}


    print "  

    <tr>   

    <td> <a href=\"$beerURL\"> $fBeerName </a>   </td>
    <td>  $fBeerRating  </td>
    <td>  $myrating    </td>

    </tr>
4

3 に答える 3

2

テーブルヘッダーをテーブルセルと同じように見せたい場合は、セルに既にあるスタイルにヘッダーを追加するだけです。

ただし、この例では、実際には既存のヘッダースタイルをaからに変更する必要がtdありthます。

したがって、この

.CSSTableGenerator tr:first-child td {
    styles here
}

に変更する必要があります

.CSSTableGenerator tr:first-child th  {
    styles here
}

少し整理するために、削除.CSSTableGenerator tr:first-child:hover tdして変更する必要があります

.CSSTableGenerator tr:first-child td:first-child {
        border-width: 0px 0px 1px 0px
}

.CSSTableGenerator tr:first-child td:first-child {
        border-width: 0px 1px 1px 0px
}

ここにフィドルがあります-http ://jsfiddle.net/ajcw/r5Prz/

于 2012-09-27T19:50:07.457 に答える
0

<th>タイトルにはテーブルヘッダータグを使用する必要があります。また、CSSを:first-child tr tdに変更します:first-child tr th

于 2012-09-27T19:51:53.010 に答える
0

CSSファイルで、次を置き換えます。

.CSSTableGenerator tr:first-child td

と:

.CSSTableGenerator thead tr th
于 2012-09-27T19:52:05.010 に答える