2017-07-17 4 views
0

Iは、表のセルの隅部を強調する2つのCSSクラスを定義している:表セルコーナー - HTML/CSS

.right 
    { 
     background-image: linear-gradient(225deg, green, green 5px, transparent 5px, transparent); 
    } 
    .left 
    { 
     background-image: linear-gradient(135deg, orange, orange 5px, transparent 5px, transparent); 
    } 

(使用例)

<td /*some attributes*/ class="right">value</td> 

Iは、表のセルのためにそれを使用、それは次のようになります。

enter image description here

しかし、それらの両方は、Iので、背景を設定し、それらの両方を同じセルに使用することはできません。同じセルの両方のコーナーをハイライトする方法はありますか?私はすでにこの問題を解決した

答えて

2

、私だけで作られた複合クラス

ここ
.note.approving 
     { 
      background-image: linear-gradient(225deg, green, green 5px, transparent 5px, transparent), linear-gradient(135deg, orange, orange 5px, transparent 5px, transparent); 
     } 
+0

はい、これは(複数の背景) –

+0

私は自分の答えを2日以内に受け入れることができます –

0

は、CSSの三角形を挿入するために擬似要素を使って、代替ソリューションです:

table { 
 
    border-collapse: collapse; 
 
} 
 

 
td { 
 
    position: relative; 
 
    overflow: hidden; 
 
    border: 1px solid #ccc; 
 
    padding: 1.6em 1em; 
 
} 
 

 
td.left::before, 
 
td.right::after { 
 
    content: ""; 
 
    position: absolute; 
 
    top: -5px; 
 
    width: 0; 
 
    height: 0; 
 
    border-left: 10px solid transparent; 
 
    border-right: 10px solid transparent; 
 
} 
 

 
td.left::before { 
 
    left: -5px; 
 
    transform: rotate(90deg); 
 
    border-bottom: 10px solid orange; 
 
} 
 

 
td.right::after { 
 
    right: -5px; 
 
    transform: rotate(-90deg); 
 
    border-bottom: 10px solid green; 
 
}
<table> 
 
    <tr> 
 
    <td class="left">1</td> 
 
    <td class="left right">2</td> 
 
    <td class="right">3</td> 
 
    </tr> 
 
</table>

OPの独自の解決策(バックグラウンド勾配を使用)よりも遥かに冗長ですが、これはいくつかの追加価値があるかもしれません。正確なシナリオに応じてpseudo elements could enable you to add pointer events to themを入力してください。

+0

これは確かに動作しますが、非常に多くのCSSは単一の勾配ルールと比較しています; 2セレクター –

+1

もちろん、グラデーション版は確かにはるかに洗練されたソリューションだと思います。ある人が同じことをしようとしているが、何らかの理由で「背景」を使うことができない場合に備えて、OPのソリューションに加えてこれを提供したかっただけです。また、私は私のコメントを具体化しなければならなかった。 ;) – domsson

+0

ところで、これの利点の1つは、ちょうどバックグラウンドグラデーションを使った場合よりも、少しだけ多くのことができることです。例えば、カーソルを 'pointer'に変更する、あるいはJavaScriptをonclickすることもできます(https://stackoverflow.com/questions/7478336/only-detect-click-event-on-pseudo-element #comment39751366_7478344)。 – domsson

関連する問題