次のことを検討してください...
<!DOCTYPE>
<html>
<head>
<title></title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
main{
width:500px;
height:500px;
margin:0 auto;
border:5px solid red;
display:none;
}
</style>
</head>
<body>
<main>
<h1>Test</h1>
</main>
</body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function () {
//load some external content then on callback...
$('main').show();
});
</script>
</html>
IE8 を除くすべてのブラウザで正常に動作します (ショッカー)。を削除すればdisplay:none;
問題ないので、これが問題だと思います。しかし、なぜ?
私が達成しようとしていること
<main>
、 ajax 呼び出しを介してコンテンツを挿入するa<nav>
を含む私のラッパーです。サイトが最初にランディング ページのコンテンツを読み込んで空のコンテンツ ホルダーに挿入するときに、わずかにぎこちないちらつきがあります。大したことではありませんが、目にやさしいものが欲しかったので、スタイル定義に a を追加し、コンテンツがロードされたら、ちらつきを防ぐためにorを追加しました。動作します...IE8を除く。それはまるでshivによって定義されたものを失い、デフォルトで.<footer>
<div>
<div>
display:none;
main
show()
fadeIn()
<main>
display
inline
私が試したこと
<main>
タグをに置き換えましたが<div id="main">
、これは正常に機能します。しかし、私は HTML5 を採用しようとしており、<main>
タグを使用したいと考えています。
私はこれがマイナーであることを知っています.理由がわからないとイライラします.