これはむしろ、テキストとテスト幅を追加するよりも、ハイフンのように見える背景画像に処理できるよりも、何かのように見えます。
このトリックは、カバーするテキストセクションの後ろにレイヤーを置いた絶対配置の擬似要素を使用することです。これは、ページと同じbackground-color
を持つspan
要素にコンテンツをラップし、linear-gradient
を利用して「ダッシュ」を作成することで行います。
RESULT
CSS
td[align="justify"]{
position:relative;
}
td[align="justify"]:before,
td[align="justify"]:after{
content:"";
position:absolute;
top:0px;
left:2px; /* handle span not reaching quite to the edge when using text-align:justify */
right:2px; /* handle span not reaching quite to the edge when using text-align:justify */
bottom:0px;
}
td[align="justify"]:before{
/*
COLOR NOTES:
black = color of the "dash"
*/
background-color:black;
}
td[align="justify"]:after{
/*
COLOR AND SIZING NOTES:
rgba(255, 255, 255, 1) = background-color of page (white)
First gradient runs left to right and creates the "gaps" in the black
1px = "gap" of background color, then remainder transparent
Second gradient runs top to bottom, we want a 1px line in the "middle" of our line-height
(lineheight/2) - (1px/2)
(18/2) - (1/2)
9 - .5 = 8.5
This creates a 1px high transparent "gap"
*/
background-image:
linear-gradient(to right, rgba(255, 255, 255,1) 1px, rgba(255, 255, 255,0) 1px),
linear-gradient(to bottom, rgba(255, 255, 255,1) 8.5px, rgba(255, 255, 255,0) 8.5px, rgba(255, 255, 255,0) 9.5px, rgba(255, 255, 255,1) 9.5px);
/*
SIZING NOTES:
6px = 5px wide dash + 1px wide gap
18px = text line-height
*/
background-size:6px 18px, 6px 18px;
background-repeat:repeat;
}
td[align="justify"] > span{
background:rgb(255, 255, 255);
position:relative;
z-index:1;
}
HTML
<table>
<tr>
<td>Testingggggggggggggggggggggggggggggggggg</td>
</tr>
<tr>
<td align="justify"><span>dasdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</span></td>
</tr>
<tr>
<td align="justify">
<span>asgjdhgdgagdasda hasdahsdas asldsad asdjasldsadas</span>
</td>
</tr>
<tr>
<td align="justify"><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></td>
</tr>
</table>
<table>
<tr>
<td align="justify"><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></td>
</tr>
</table>
JSFIDDLE
これからの出力は?最後の文字と 'td'の終わりとの間の残りのスペースをハイフン(' -'/stripe)で埋めるのですか?理由を聞いてもいいですか? – haxxxton
私はその出力が[次のような]レポート形式を持っています:https:// goo * gl/Zoi8ET mpdfを使用してpdfファイルに変換します – kiphe
(shudders)デザイン批評はさておき、ハイフンは必要ありません選択可能か?彼らはラインの終わりを示す目的のためだけにそこにありますか? – haxxxton