セルに直角三角形を追加する必要があります。
これを行う方法?
スパンとスパン内にアイコンを追加しようとしましたが、うまくいきません
<span style="position: relative;float:right;top:-30px;">@Html.ImageContent("triangle_bonus.png", "")</span>
セルに直角三角形を追加する必要があります。
これを行う方法?
スパンとスパン内にアイコンを追加しようとしましたが、うまくいきません
<span style="position: relative;float:right;top:-30px;">@Html.ImageContent("triangle_bonus.png", "")</span>
CSS 三角形の使用:
基本的に、高さ 0、幅 0 の要素があり、境界線を使用して三角形を作成します。境界線の間 (たとえば、上と左の間) は対角線であるため、見栄えの良い無地の三角形を作成できます。
<table border="1">
<tr>
<td class="note">Triangle!</td>
<td>No Triangle!</td>
</tr>
</table>
td {
padding: 20px;
}
.note {
position: relative;
}
.note:after { /* Magic Happens Here!!! */
content: "";
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
display: block;
border-left: 20px solid transparent;
border-bottom: 20px solid transparent;
border-top: 20px solid #f00;
} /* </magic> */
<span>
、HTML に依存する代わりにa を使用できます:after
。div 内でセル テキストを作成するのは良い考えです。ただし、テキストではなくARROWに追加のdivを配置するだけの場合。td
が幅と高さを指定し、テキストが で TOP にとどまると問題が発生するためpadding-top:20px;
です。
私は別の解決策を見つけ、すべての主要なブラウザーでテストしました (例: IF と FF も)
.arrow-right-1 {
position: absolute;
top: -1px;
right: -5px;
float: right;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid red;
transform: rotate(45deg);
}
td {
border: solid 1px blue;
width: 160px;
height: 100px;
/* padding: 0px !important; */
/* vertical-align: top; */
position: relative;
}
<table class="table">
<tbody>
<tr>
<td>
<div class="arrow-right-1"></div>you can increase or decrease the size of td's height or can put more text
</td>
</tr>
</tbody>
</table>
Google でこの質問を見つけて問題が発生したため、元の投稿が古くてもここに追加します。
Madara の答えは、ほとんどのブラウザーで機能し、すべてのブラウザーでテーブルの外のどこでも機能します。しかし、コメントで述べたように、この例は Firefox では機能しません。
Bugzillaには、要素で動作しないという非常に古いチケットがあります。position:absolute;
<td>
主な解決策は、インナーを追加すること<div>
です:
HTML:
<table border="1">
<tr>
<td><div class="note">Triangle!</div></td>
<td>No Triangle!</td>
</tr>
</table>
CSS:
td .note {
padding: 20px;
}
インナーなしで達成できることがわかりましたが<div>
、が空の場合にのみ達成でき<td>
ますが、これはおそらく役に立ちません。