0

私はPDFクリエーターにhtmlを送信するプロジェクトに取り組んでいるので、PDFに正しく表示される限り、適切なhtmlについてあまり心配する必要はありません。

私は現在、ページの約半分が他のフォントとは異なるサイズのフォントであるPDFに取り組んでいます。選択範囲の周りにタグを付けることで、これを簡単に実現したいと思っていました。ただし、cssスタイルを継承していないテーブルとリストがあります。

例えば:

CSS:

.fs8
{
    font-size:8pt;
}

HTML:

...
<p>Size 10 text here...</p>

<span class='fs8'>

<p>This text is size 8</p>

<table>
    <tr>
        <td>This text is NOT size 8</td>
    </tr>
</table>

<p>Still size 8...</p>

<ul>
    <li>NOT size 8!
</ul>

</span>

<p>Size 10 again...</p>

テーブルやリストにまたがる良い方法はありますか?何百もの場所にクラスタグを追加する必要はありませんか?

4

6 に答える 6

4

私があなたの意図を理解したかどうかはわかりませんが、私が理解していることから、あなたはセレクターを改良したいと思っています。

これを試して:

.fs8 td,
.fs8 li
{
    font-size:9pt;
}

tdこれにより、クラスがの要素内の任意のまたはliタグでfont-sizeが9ptに設定されfs8ます。

于 2012-10-17T19:25:11.933 に答える
2

スパンはデフォルトでインライン要素であるため、スパンの代わりにdivを使用する必要があります。つまり、テーブルやulなどのブロックレベルの要素を含めることはできません。次にCSSについて説明します。

.fs8 {
  font-size: 8px;
}
.fs8 table,
.fs8 ul {
  font-size: 10px; /* not 8px */
}

それでうまくいくはずです。ラッピングdiv以外のアイテムにクラスを追加する必要はありません。スパンにすることはできないため、適切に動作させるためにdivに置き換えてください。

于 2012-10-17T20:16:47.520 に答える
1

span要素の周りにタグを使用するtableことは単に無効なマークアップであるため、すべての賭けは無効になります。div代わりに使用するか、必要なCSSプロパティを該当する要素に直接割り当てることを検討してください。

于 2012-10-17T19:31:41.420 に答える
1

クラスタグを付けたくないことは知っていますが、すべてのタグに付ける必要はありません。全体の周りにdivを配置するだけで、外部設定でオーバーライドできるスパンタグではありません。私は以前にその問題を抱えていたので、次のようなことをしてください:

    <div id="my_settings">

     <table>.....
     </table>

     <ul>....
     </ul>


     </div>

次に、CSSでこれを行います。

     #my_settings li, #my_settings li, #my_settings p{
         font-siz: ....;
     }

これがあなたの望むものであるかどうかは完全にはわかりませんが、それらすべてにクラスを追加するよりも簡単かもしれません。

于 2012-10-17T20:05:57.457 に答える
1

迅速でおそらく汚い解決策が必要なので、ワイルドカードセレクターを使用できます

.fs8, .fs8 *, .fs8 * *, .fs * * * { font-size:8pt; }

(テーブルには3つすべてが必要です(スパン>テーブル> tr> td)

ただし、望ましくない副作用が発生する可能性があることに注意してください。

また、PDFの生成に使用するツールに注意する必要があります。古いブラウザレンダリングエンジン(hello ie6レンダリング)を使用してファイルを生成するものもあります。実際、この例はie8で完全に機能しますが、クァークモードでは機能しないため、問題が発生しているのはおそらくこのためです。

于 2012-10-17T20:08:41.470 に答える
0

あなたの質問についてはよくわかりませんが、私は答えようとします:

p { font-size:10px; }
.fs8 p { font-size:8px; }

また

p, td, li { font-size: 10px; }
span.fs8 p { font-size:8px; }
于 2012-10-17T19:30:14.043 に答える