これが可能かどうか、不可能な場合は、誰かがオプションのアイデアを捨てることができるかどうかはわかりませんが、selectタグにさまざまなフォント(具体的には、Googleのフォントディレクトリからのフォント)のドロップダウンを表示しようとしています。ドロップダウンで、各オプションをそれが表すフォントでスタイル設定してプレビューを表示しようとしています
<option name="Tangerine" style="font-family:'Tangerine', verdana;">Tangerine</option>
ただし、これは機能していないようです。それを修正する理由または方法の手がかりはありますか?
各option
タグをoptgroup
タグでラップしてから、次のようにスタイルを設定する必要があります。
<select>
<optgroup style="font-family:arial">
<option>Arial</option>
</optgroup>
<optgroup style="font-family:verdana">
<option>veranda</option>
</optgroup>
<optgroup style="font-family:other">
<option>other</option>
</optgroup>
</select>
<option>
タグのフォントを設定することはできませんが、特定のスタイルでリストを作成することはできます(予想どおり)
これが私が試してきたすべてです:
$("select.js option:eq(0), ul li:eq(0)").css("fontFamily", "tangerine");
$("select.js option:eq(1), ul li:eq(1)").css("fontFamily", "tahoma");
$("select.js option:eq(2), ul li:eq(2)").css("fontFamily", "times new roman");
h1 {
font-size: 1.2em;
margin-top: 10px;
color: #777;
}
.tangerine {
font-family: tangerine;
}
.tahoma {
font-family: tahoma;
}
.timesnewroman {
font-family: times new roman;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<h1>Set with jQuery</h2>
<select id="js">
<option>Tangerine</option>
<option>Tahoma</option>
<option>Times New Roman</option>
</select>
<div> </div>
<h1>Set with CSS</h2>
<select id="css">
<option class="tangerine">Tangerine</option>
<option class="tahoma">Tahoma</option>
<option class="timesnewroman">Times New Roman</option>
</select>
<div> </div>
<h1>List</h2>
<ul>
<li>Tangerine</li>
<li>Tahoma</li>
<li>Times New Roman</li>
</ul>
多分あなたはjavascriptを使うことができますか?これを試してみませんか?
<script>
myObj = document.getElementById("tahoma");
myObj.style.font = "Tahoma";
myObj.style.color = "red";
// Change anything else that you like!
</script>
<option id="tahoma .....>
このように簡単に使用できます
<select id='lstFonts' class='form-control'>
<option style="font-family:Arial" value="Arial">Arial</option>
<option style="font-family:Verdana" value="Verdana">Arial</option>
</select>
上記のすべてのオプションは、OSXSafariで正しいものを表示しませんでした。私はブートストラップを使用して物事を正しくすることができました:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>font test</title>
<meta name="generator" content="BBEdit 10.5" />
<link rel="stylesheet" type="text/css" href="yourpaththere/css/bootstrap.min.css" async />
</head>
<body>
<style>
@font-face {font-family: edwardian;src:local("edwardian"),url('yourpathhere/font/edwardian.TTF');font-weight: normal;}
.edwardian{font-family: edwardian; font-size: 30px;}
.arial{font-family: arial;}
.times{font-family: times;}
.verdana{font-family: verdana;}
.helvetica{font-family: helvetica;}
</style>
<div id="fontdropdown1" class="dropdown" style="width: 300px;">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Kies een lettertype
<span class="caret"></span></button>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<li role="presentation"><a role="menuitem" class="arial">Arial</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" class="times">Times</a></li>
<li role="presentation"><a role="menuitem" class="verdana">Verdana</a></li>
<li role="presentation"><a role="menuitem" class="helvetica">Helvetica</a></li>
<li role="presentation"><a role="menuitem" class="edwardian">Edwardian</a></li>
</ul>
</div>
<!-- test font dropdown -->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script type="text/javascript" src="yourpathhere/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="yourpathhere/js/bootstrap.js"></script>
</body>
</html>
私はそれをするためにハックスタイルの方法を使用しました。
Selectタグのスタイルを設定する必要があり、さらにいくつかカスタマイズしたいので、jQuery用のStylish Selectプラグインを使用し、font-family css属性を親要素(リストタグ)にアタッチしました。
これはほとんどコードで機能せず、クロスブラウザー互換でした。
オプション値にフォント名を付けます。次に、jqueryでそれらすべてを設定できます。
次に例を示します。
次のように簡単に新しいフォントを追加できます。
<option value="myFontName">My Font Name</option>
$("#selectfont").each(function(){
$(this).children("option").each(function(){
$(this).css("fontFamily",this.value);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<select id="selectfont">
<option value="tangerine">Tangerine</option>
<option value="tahoma">Tahoma</option>
<option value="times new roman">Times New Roman</option>
</select>