1. ホーム
  2. Web制作
  3. HTML/Xhtml

テーブル表でスラッシュヘッダー効果を実現する5つの方法

2022-01-08 21:32:18

テーブルテーブル、この事は確かに私達が頻繁に遭遇することができるコードに見知らぬ人ではないので、スラッシュテーブルヘッダーを追加するには、時々必要ですが、どのように正確にこの効果を達成するために?

以下の方法についてまとめてみました。

1. 最も簡単でシンプルな方法

会社のUIに直接行って、絵を作ってもらい、それをここに背景画像として貼り、それをプロップスする。簡単でしょう!!!

2. かなりシンプルなアプローチ

実際には、CSS3を理解する友人は、一度、この効果を参照してください、脳は即座に登場し、このプロパティを変換している、はい、これは確かに、また非常に簡単ですが、ブラウザの互換性の問題に注意を払うために問題がある、我々は常に心に危機感を保つ必要があります(IEはまだ存在しています)、あなたの会社の要件は、その後、非常にあなたに適したこの方法クロームと互換性がある場合。

3. 非常に簡単な操作

.biaoTou {
                border-top: 200px #199fff solid; /*top-border-width-equal-to-table-first-row-row-height*/  
                border-left: 200px #ff8838 solid; /*left border width equals the width of the first cell of the first row of the table*/  
            }

<td width="200">
    <div class="biaoTou">
                        
    </div>
</td>


この方法も非常に簡単で、上記の書式にしたがって、良いに書き留めることができます。しかし、書き込みのこの方法は、明らかな問題があります:これは実際にテーブルヘッダーのスラッシュを分割する境界線の2つの異なる色の使用は、スラッシュの両側の色は、それがいくつかのプロモーション活動や他のフォームを行うには、この方法で使用することができる場合は、同じにすることはできませんです。しかし、我々はスラッシュの両側に同じ色を必要とする場合、この練習は適用されません。注意して使用してください。

4. 非常にシンプルなアプローチ

この効果は、CSS3別の新しいタグキャンバスで使用することができます。スラッシュを描画するためのキャンバスとして使用される非常に単純な練習は、詳細に説明しませんが、問題がある、陳腐な互換性の問題であり、唯一のクロムと互換性がある場合、何をしたい(なぜ当社は忌々しいIEを考慮する必要があります、私も唯一のGoogle(プロジェクトああ)との互換性を実行したい)。

<スパン 5、単純なアプローチではない

それがjsのアプローチ

<!DOCTYPE html PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<HTML>  
<HEAD>  
<TITLE> slash table header</TITLE>  
<meta http-equiv="content-type" content="charset=gbk">  
</HEAD>  
  
<body leftmargin=0 topmargin=0>  
    <br>  
    <div height="300">header</div>  
    <hr>  
    <TABLE border=0 bgcolor="000000" cellspacing="1" width=400  
        style="margin-left: 100px;">  
        <TR bgcolor="FFFFFFF">  
            <TD width="111" height="52"><table width="100%" height="100%"  
                    border="0" cellpadding="0" cellspacing="0">  
                    <tr>  
                        <td id="td1"></td>  
                        <td>grades</td>  
                    </tr>  
                    <tr>  
                        <td>Name</td>  
                        <td id="td2"></td>  
                    </tr>  
                </table></TD>  
            <TD width="81">Math</TD>  
            <TD width="96">English</TD>  
            <TD width="99">C</TD>  
        </TR>  
        <TR bgcolor="FFFFFFF">  
            <TD>Zhang San</TD>  
            <TD>55</TD>  
            <TD>66</TD>  
            <TD>77</TD>  
        </TR>  
        <TR bgcolor="FFFFFFF">  
            <TD>Li Si</TD>  
            <TD>99</TD>  
            <TD>68</TD>  
            <TD>71</TD>  
        </TR>  
        <TR bgcolor="FFFFFFF">  
            <TD>王五</TD>  
            <TD>33</TD>  
            <TD>44</TD>  
            <TD>55</TD>  
        </TR>  
    </TABLE>  
    <script type="text/javascript">  
        function a(x, y, color) {  
            document  
                    .write("<img border='0' style='position: absolute; left: "  
                            + (x)  
                            + "; top: "  
                            + (y)  
                            + ";background-color: "  
                            + color  
                            + "' src='px.gif' width=1 height=1>")  
        }  
        function getTop(tdobj) {  
            vParent = tdobj.offsetParent;  
            t = tdobj.offsetTop;  
            while (vParent.tagName.toUpperCase() ! = "BODY") {  
                t += vParent.offsetTop;  
                vParentvParent = vParent.offsetParent;  
            }  
            return t;  
        }  
  
        function getLeft(tdobj) {  
            vParent = tdobj.offsetParent;  
            t = tdobj.offsetLeft;  
            while (vParent.tagName.toUpperCase() ! = "BODY") {  
                t += vParent.offsetLeft;  
                vParentvParent = vParent.offsetParent;  
            }  
            return t;  
        }  
        function line(x1, y1, x2, y2, color) {  
            var tmp  
            if (x1 >= x2) {  
                tmp = x1;  
                x1 = x2;  
                x2 = tmp;  
                tmp = y1;  
                y1 = y2;  
                y2 = tmp;  
            }  
            for ( var i = x1; i <= x2; i++) {  
                x = i;  
                y = (y2 - y1) / (x2 - x1) * (x - x1) + y1;  
                a(x, y, color);  
            }  
        }  
        //line(1,1,100,100,"000000");   
        line(getLeft(td1), getTop(td1), getLeft(td1) + td1.offsetWidth,  
                getTop(td1) + td1.offsetHeight, '#000000');  
        line(getLeft(td2), getTop(td2), getLeft(td2) + td2.offsetWidth,  
                getTop(td2) + td