それはあなたがそこで起こっている興味深いジレンマです。私が考えることができる唯一のことは、フォントサイズが!importantで宣言されているヘッダーに新しいタグを追加することです。たとえば、headタグでは次のようになります。
<style type="text/css" media="print">
.printfont {
font-size: 16px !important;
}
</style>
これにより、新しいフォントサイズが優先されます。
以下は、JavaScriptを使用してこれを実現する方法の非常に簡単な例です。
<script type="text/javascript">
var inlineMediaStyle = null;
function changeMediaStyle ()
{
var head = document.getElementsByTagName('head')[0];
var newStyle = document.createElement('style');
newStyle.setAttribute('type', 'text/css');
newStyle.setAttribute('media', 'print');
newStyle.appendChild(document.createTextNode('.printFont { font-size: 16px !important;}'));
if (inlineMediaStyle != null)
{
head.replaceChild(newStyle, inlineMediaStyle)
}
else
{
head.appendChild(newStyle);
}
inlineMediaStyle = newStyle;
}
</script>
ドロップダウンの属性としてonchange="changeMediaStyle()"があることを確認してください。また、私の例の免責事項として、私はメモリリークのようなものを考慮していないので、あなたはあなた自身でそれらの種類の問題を解決しなければならないでしょう。
別の質問については、私が知る限り、本質的にCSS変数を宣言/使用する方法はありません。ただし、現在、推奨事項があります: http: //disruptive-innovations.com/zoo/cssvariables/