私は現在、正常に動作する純粋な CSS ドロップダウン/メガ メニューを持っています。レイアウトは流動的 (パーセンテージ ベース) で、メディア クエリも使用しています。
私が抱えている問題は、メニュー項目li
がブラウザーの端に近いかどうかを検出し、 align
CSS を使用してプロパティを変更する必要があることです。
これを達成するにはjQueryを使用する必要があると思いますが、実際には方法がわかりません。
これを見てください。おそらくエレガントではありませんが、liが左または上に近い場合はピンクになります。パズルを完成させることができるはずです:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 1</title>
<style type="text/css">
ul{
list-style:none;
}
li{
display:inline-block;
margin: 5px;
width: 100px;
height: 100px;
background-color:silver;
}
</style>
</head>
<body>
<ul>
<li></li><li></li><li></li><li></li><li></li>
<li></li><li></li><li></li><li></li><li></li>
<li></li><li></li><li></li><li></li><li></li>
<li></li><li></li><li></li><li></li><li></li>
<li></li><li></li><li></li><li></li><li></li>
</ul>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="application/javascript">
$(document).ready(function(){
var items = new Array();
var i;
function paintPink(){
$('ul > li').css('background-color','silver');
for (i=1;i<=$('ul').children().length;i++){
if ((($('ul > li:nth-child(' + i + ')').offset().left) < 60) || (($('ul > li:nth-child(' + i + ')').offset().top) < 60)){
$('ul > li:nth-child(' + i + ')').css('background-color','fuchsia');
};
};
};
$(window).load(paintPink);
$(window).resize(paintPink);
});
</script>
</body>
</html>
幸運を。