-1

css3でセクションタグを左に、サイドタグを右に揃えました.google chromeで動作しています。しかし、Firefox と Internet Explorer では動作しません。なぜ動作しないのか誰か教えてください。ここにhtml5コード

<!DOCTYPE html >
<html lang="en">
<head>
<meta charset="urf-8" />
<title>Bruno Website </title>
<link rel="stylesheet" href="main.css" >
</head>

<body>
    <div id=big_wrapper>
    <header id="top_header">
       <h1> Welcome to HTML5 </h1>
    </header>

    <nav id="top_menu">
        <ul>
            <li>Home</li>
            <li>Services</li>  
            <li>Tutorials</li>  
            <li>Conatct</li>        
        </ul>
    </nav>

    <div id="new_div">
    <section id="main_section">
        <article>
            <header>
                <hgroup>
                <h1>Tiltle of the article</h1>
                <h2>titile h2 </h2>
                </hgroup>
            </header>
                <p>This is my First Website in hTml5 </p>
            <footer>
                 <p>~BRuno thileeban</p>
            </footer>
        </article>
        <article>
            <header>
                <hgroup>
                <h1>Tiltle of the article2</h1>
                <h2>titile h2 2 </h2>
                </hgroup>
            </header>
                <p>This is my First Website in hTml5 2 </p>
            <footer>
                <p>~BRuno thileeban</p>
            </footer>
        </article>
    </section>
        <aside id="side_news">
            <h4>News</h4>
            HEllo we r doing good job
        </aside>
    </div>
    <footer id="the_footer">
    Copyright Bruno .....
    </footer>

    </div>
</body>

</html>

これがcss3コードです

*
{ 
margin:0px;
padding:0px;
}
h1
{
 font: bold 20px Tahoma;
}
h2
{
font: bold 14px Tahoma;
}
header, section, footer, aside, nav, article, hgroup{ display:block;}
body
{
 width:100%;
 display:-webkit-box;
 -webkit-box-pack: center;
}
#big_wrapper{
 max-width: 1000px;
 margin:20px 0px;
 display:-webkit-box;
-webkit-box-orient: vertical;
-webkit-box-flex:1;
}
#top_header { background:yellow;
border:3px solid black;
padding:20px;
}
#top_menu{ border:red;
background:blue;
color:white;
}
#top_menu li { 
display:inline-block;
list-style:none;
padding:5px;
font:bold 14px tahoma;
 }
 #new_div{ 
  display:-webkit-box;
  -webkit-box-orient:horizontal;
  }
  #main_section
  {
  border:1px solid blue;
  -webkit-box-flex:1;
  margin:20px ;
  padding:20px;

  }

  #side_news{
    border:1px solid red;
    margin:20px 0px;
    padding:30px;
    background: #66CCCC;

  }
  #the_footer{
  text-align:center;

   padding:20px;
   border-top:2px solid green;
  }
  article{ background:#FFFBCC; border:1px solid red; padding:20px; margin-bottom:15px;}
  article footer{ text-align:right;}
4

4 に答える 4

1

コードでWebkit(Google Chromeのベース)のみをサポートすることを選択しました。他のブラウザで使用されるレンダリングエンジンをサポートするには、いくつかの変更を加える必要があります。

を使用するすべての場所で-webkit-*、その行をコピーし、以下を使用して-moz-*、もう一度とを使用して-o-*から-ms-*、プレフィックスなしでもう一度使用します。Webブラウザーは、理解できないものをドロップします。

たとえば-webkit-box-flex:1;

-webkit-box-flex:1; /* chrome, safari, etc */
-moz-box-flex:1;    /* Firefox, seamonkey etc */
-o-box-flex:1;      /* Opera */
-ms-box-flex:1;     /* MSIE */
box-flex:1;         /* Any that support full implementation */

ただし、これは元のCSSフレキシブルボックスレイアウトモジュール標準のプロパティであり、新しい標準に置き換えられていることに注意してください。flex代わりに使用することに興味があるかもしれません

于 2012-10-26T11:35:01.903 に答える
0

-webkitCSSでいくつかのプレフィックスを使用しました(例:) -webkit-box-orient: vertical;。これらの仕様は、一部のブラウザ、特にChromeでのみ機能します。

floatのような標準のCSSプレフィックスがより良いオプションです。

PS-のような文字セットはありませんurf-8

于 2012-10-25T23:18:32.787 に答える
0

-webkitサファリやクロームなどのWebkitベースのブラウザに固有のプレフィックスを使用しただけのようです。他のプレフィックス( -moz-o)を使用するか、コンパスを使用します。これは、コードが常に最新のブラウザを反映しているため、プレフィックスの維持に非常に役立ちます。サポート。

于 2012-10-26T11:28:40.973 に答える
0

ベンダー プレフィックスは、定義上、単一のベンダーのブラウザーでのみ機能することが想定されています。これは、カスタム ルールまたはまだ標準化されていないものの実験的な実装を示しているためです (ただし、それについてはいくつかの論争がありました)。

ビットは、 WebKit レンダリング エンジン-webkit-を使用するブラウザにのみ適用されるベンダー プレフィックスです。最も一般的なのは Chrome と Safari です。 他のレンダリング エンジンの既知のベンダー プレフィックスのリストを次に示します。したがって、このルールを取る場合:

body {
    width:100%;
    display: -webkit-box;
    -webkit-box-pack: center;
}

あなたが持っているのは実際には CSS3 ではなく、WebKit カスタム CSS です。CSS3 で、使用しているルールとプロパティが承認されると、次のようになります (このコードは使用しないでください)。

body {
    width: 100%;
    display: box;
    box-pack: center;
}

boxこのルールは、との標準box-packが合意されて最終決定されるまで、ブラウザーでは機能しません。現在のサポートを最大限に得るには、ルールを次のようにする必要があります (繰り返しますが、このコードは使用しないでください)。

body {
    width:100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -o-box;
    display: box;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-box-pack: center;
    -o-box-pack: center;
    box-pack: center;
}

この複雑さが、コンパスなどのツールを使用してスタイルシートを生成する理由です。

boxしかし、私はこのコードを使用すべきではないとずっと言ってきました。その理由は、box-packCSS3 で使用する予定がなくなったためです。これらは、キーワードを使用しflexた新しいアプローチに取って代わられました。flex置き換えますが、boxまったく同じようには機能しないため、直接的な翻訳ではありません。ベンダー プレフィックス付きbox属性のサポートは、フェード アウトするか、カスタム CSS に戻る予定です (全体のboxアプローチは、Firefox がブラウザー ツールバーの UI 要素をレイアウトするために使用するカスタム CSS として始まりました。つまり、Web ページ用ではありません)。

これは、ベンダー プレフィックス付きの CSS ルールを使用することによるリスクです。動作や構文さえも変更される可能性があります。それらを使用する場合は、仕様を常に把握し、ブラウザーでの実験的な実装の進行状況を注意深く監視する必要があります。

于 2012-10-26T11:41:35.903 に答える