私は次のHTML5コードを持っています...
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<style type="text/css">
path#Selection{
fill: black;
}
path#Selection:hover{
fill:blue;
}
</style>
</head>
<body>
<object data="America" type="image/svg+xml" id="test"></object>
</body>
</html>
私が使用しているsvgファイルはgimpから...としてエクスポートされました。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
width="38.2361in" height="19.4444in"
viewBox="0 0 2753 1400">
<path id="Selection"
fill="black" stroke="black" stroke-width="1"
d="M 397.00,118.96
C 397.00,118.96 414.00,115.96 414.00,115.96
414.00,115.96 432.96,108.64 432.96,108.64
432.96,108.64 441.04,107.73 441.04,107.73
</path>
</svg>
残念ながら、これが別のファイルにある場合、cssホバーを使用したパス検出は機能しません。ただし、パスはブラウザに描画および表示されます。問題ありません。path#Selection:hoverを機能させることができた唯一の方法は、実際のコードをHTMLファイルに埋め込むことです...
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<style type="text/css">
path#Selection{
fill: black;
}
path#Selection:hover{
fill:blue;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg"
width="38.2361in" height="19.4444in"
viewBox="0 0 2753 1400">
<path id="Selection"
fill="black" stroke="black" stroke-width="1"
d="M 397.00,118.96
C 397.00,118.96 414.00,115.96 414.00,115.96
414.00,115.96 432.96,108.64 432.96,108.64
432.96,108.64 441.04,107.73 441.04,107.73
</path>
</svg>
</body>
</html>
ただし、これは非常に不便です。多くの国を含む大きなマップを作成しているため、svgを別のファイルに残しておくことをお勧めします。どうすればこれを行うことができますか?