1

カスタムフォントのメニューに取り組んでおり、クロム(およびサファリ)では、希望どおりに正確に配置されています。

http://american-motorsports.net/2012/

Firefox で表示すると、フォントのカーニングが少し異なり、右端のメニュー項目に小さな黒い隙間ができます。FABRICATIONのFAの違いがわかる

現在、HTML は非常に単純です。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="resources/css/reset.css" />
<link rel="stylesheet" href="resources/css/main.css" />
<title><?php echo date('M d, Y') . ' | '; ?>American Motorsports - Off-Road Fabrication</title>
</head>
<body>
<div id="wrap">
    <div id="header">
        <div id="logo">
            <img src="resources/images/logo.png" width="291" height="150" alt="American Motorsports - Off-Road Fabrication" />
        </div>
        <div id="menu">
            <a href="#"><span class="item">HOME</span></a><a href="#"><span class="item">SUSPENSION</span></a><a href="#"><span class="item">FABRICATION</span></a><a href="#"><span class="item">PROJECTS</span></a><a href="#"><span class="item">MEDIA</span></a><a href="#"><span class="item">CONTACT</span></a>
        </div>
    </div>
    <div id="main"></div>
</div>
</body>
</html>

これまでのところ、CSSはこれで構成されています

@font-face {  
    font-family: bebas;  
    src: url("../fonts/bebas.ttf") format("truetype");  
    font-weight: normal;
    font-style: normal;
}

body {
    font-size: 14px;
    color: #ccc;
    line-height: 20px;
    margin: 0;
    padding: 0;
    background: url("../images/bg.png") #202020;
}

#wrap {
    background: url("../images/bg_main.jpg") no-repeat center top;
    min-height:800px;
}

#header {
    border-top: 5px solid #3a3a3a;
    height:150px;
    width:970px;
    background-color:#000000;
    margin: 50px auto;
}

#logo {
    width:324px;
    height:179px;
    background-color:#121212;
    border-top: 5px solid #3a3a3a;
    border-bottom: 5px solid #ffffff;
    margin-top:-22px;
    float:left;
}

#logo img {
    margin-left:13px;
    margin-top:17px;
}

#menu {
    width:646px;
    height:150px;
    float:right;
    margin:0;
    padding:0;  
}

#menu a {
    margin:0;
    padding:0;
}

.item {
    font-family:bebas;
    font-size:18px;
    height:150px;
    display:inline-block;
    text-align:center;
    line-height:8em;
    color:#fff;
    cursor:pointer;
    padding-left:20px;
    padding-right:20px;
    margin:0;
    text-shadow: 0 3px 3px #111;
}

.item:hover {
    background: -moz-linear-gradient(top,  #3a3a3a 0%, #101010 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3a3a3a), color-stop(100%,#101010));
    background: -webkit-linear-gradient(top,  #3a3a3a 0%,#101010 100%);
    background: -o-linear-gradient(top,  #3a3a3a 0%,#101010 100%);
    background: -ms-linear-gradient(top,  #3a3a3a 0%,#101010 100%);
    background: linear-gradient(to bottom,  #3a3a3a 0%,#101010 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#101010',GradientType=0 );
}

#main {
    width:970px;
    /*background-color:#ffffff;*/
    margin: 0 auto;
}

問題は、クロムとサファリのように見えるようにギャップを削除する方法、またはカーニングの問題を修正する方法です..私はFirefoxでそのギャップを望んでいません

4

3 に答える 3

2

span問題のある文字を囲み、letter-spacing:必要なものが得られるまでCSSプロパティを微調整する必要があります。

特にカスタムフォントに関しては、優れたタイポグラフィの精巧さは、ブラウザでのプライムタイムの準備が整っていません。

プランB:画像を使用します。

于 2012-10-16T16:46:43.217 に答える
0

削除しようとしているギャップはわかりませんが、Firefox(最新バージョン)がフォントで定義されている場合、デフォルトでカーニングを適用するという問題が説明されています。他のブラウザはそうではありません。つまり、カーニングとカーニングなしの問題であり、カーニングの違いではありません。カーニングは一般的に活字的に望ましいと考えられています。しかし、Firefoxがカーニングされないようにしたい場合は、フォント機能の設定を使用して可能です。たとえば、この場合は

#menu  { -moz-font-feature-settings: "kern" 0; }
于 2012-10-16T18:08:10.137 に答える
0

手っ取り早い解決策は

#menu{
  white-space: nowrap;
  overflow: hidden; /* means you don't get a dirty edge, but the last link may be smaller on the right */
}

ただし、理想的には、メニューを正しく表示するためにフォントの幅に依存するべきではありません。時間があれば、これらの各リンクにクラスとカスタム幅を指定してください。または、各アイテムにリンクを含むリストを使用して、より詳細に制御することもできます。

たとえば、次のように追加するとします。

.item{
  padding: 0;
  width: 16.66%; /* assuming you always have 6 links */
}

...常にフィットしますが、ゴミに見えるものもあります。最もプロフェッショナルな仕上がりにするには、それぞれにクラスとカスタム幅を指定します。

于 2012-10-16T16:48:19.160 に答える