2017-06-28 31 views
0

CSSを使用して、タブを右側の角度(ウィザードタイプ)で表示しました。そのが下側に追加の行を示すクローム& IE 11としかしMozilla Firefoxの中にその作業罰金は(スクリーンショットを参照してください):Mozilla FirefoxでCSSタブが正しく表示されない

enter image description here

JSFiddleを:https://jsfiddle.net/LwdejrLm/

.tabs { 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.tabs.three li { 
 
    width: 31.4%; 
 
} 
 

 
.tabs.four li { 
 
    width: 23%; 
 
} 
 

 
.tabs>li { 
 
    position: relative; 
 
    overflow: visible; 
 
    border-right: 15px solid transparent; 
 
    border-left: 15px solid transparent; 
 
    float: left; 
 
} 
 

 
.tabs>li+li { 
 
    margin-left: 0; 
 
} 
 

 
.tabs>li:first-child { 
 
    border-left: 0; 
 
} 
 

 
.tabs>li:last-child { 
 
    border-right: 0; 
 
} 
 

 
.tabs>li span { 
 
    border-radius: 0; 
 
    background-color: #e04411; 
 
    padding: 10px; 
 
    display: inline-block; 
 
    padding: 11px 20px; 
 
    color: #fff; 
 
    width: 100%; 
 
} 
 

 
.tabs>li .tbno { 
 
    position: absolute; 
 
    width: 20px; 
 
    height: 20px; 
 
    right: 0; 
 
    top: 5px; 
 
    background: rgba(255, 255, 255, 0.8); 
 
    color: #333; 
 
    border-radius: 100%; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    padding: 5px; 
 
} 
 

 
.tabs>li:last-child .tbno { 
 
    right: -30px; 
 
} 
 

 
.tabs>li .nav-arrow { 
 
    position: absolute; 
 
    top: 0px; 
 
    right: -30px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 20px 10px 20px 20px; 
 
    border-color: #fff #fff #fff #e04411; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li .nav-wedge { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: -20px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 20px 0 20px 20px; 
 
    border-color: #e04411 #eeeeee #e04411 transparent; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li.active .nav-arrow { 
 
    border-color: #fff #fff #fff #444; 
 
} 
 

 
.tabs>li.active .nav-wedge { 
 
    border-color: #444 #444 #444 transparent; 
 
} 
 

 
.tabs>li.active span { 
 
    background-color: #444; 
 
    color: #fff; 
 
    width: 100%; 
 
} 
 

 
@media (max-width: 1200px) { 
 
    .tabs.three li { 
 
    width: 22%; 
 
    } 
 
    .tabs.four li { 
 
    width: 22%; 
 
    } 
 
} 
 

 
@media (max-width: 992px) { 
 
    .tabs.four li { 
 
    width: 20%; 
 
    } 
 
} 
 

 
@media (max-width: 640px) { 
 
    .tabs.four li { 
 
    width: 18.5%; 
 
    } 
 
    .tabs>li span { 
 
    padding: 11px 6px; 
 
    } 
 
    .tabs>li .tbno { 
 
    display: none; 
 
    } 
 
} 
 

 
@media (max-width: 400px) { 
 
    .tabs.four li { 
 
    width: 17%; 
 
    } 
 
}
<ul class="tabs four"> 
 
    <li><span>Booking</span> 
 
    <div class="tbno">1</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Services</span> 
 
    <div class="tbno">2</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li class="active"> 
 
    <div class="nav-wedge"></div> 
 
    <span>Confirmation</span> 
 
    <div class="tbno">3</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Payment</span> 
 
    <div class="tbno">4</div> 
 
    </li> 
 
</ul>

+0

ちょうど、私もChromeに望ましくない行があります。 1つの赤/黒、1つの白。 21px – domsson

答えて

2

.tabs>li spanそれは例えば、いくつかのプロパティを継承inline-block要素でありますline-heightから削除してください。リセットする必要があります。

.tabs>li span{ 
    line-height: 1; 
    height: 40px; 
    box-sizing: border-box; 
} 

.tabs { 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.tabs.three li { 
 
    width: 31.4%; 
 
} 
 

 
.tabs.four li { 
 
    width: 23%; 
 
} 
 

 
.tabs>li { 
 
    position: relative; 
 
    overflow: visible; 
 
    border-right: 15px solid transparent; 
 
    border-left: 15px solid transparent; 
 
    float: left; 
 
} 
 

 
.tabs>li+li { 
 
    margin-left: 0; 
 
} 
 

 
.tabs>li:first-child { 
 
    border-left: 0; 
 
} 
 

 
.tabs>li:last-child { 
 
    border-right: 0; 
 
} 
 

 
.tabs>li span { 
 
    border-radius: 0; 
 
    background-color: #e04411; 
 
    padding: 10px; 
 
    display: inline-block; 
 
    padding: 11px 20px; 
 
    color: #fff; 
 
    width: 100%; 
 
    line-height: 1; 
 
    height: 40px; 
 
    box-sizing: border-box; 
 
} 
 

 
.tabs>li .tbno { 
 
    position: absolute; 
 
    width: 20px; 
 
    height: 20px; 
 
    right: 0; 
 
    top: 5px; 
 
    background: rgba(255, 255, 255, 0.8); 
 
    color: #333; 
 
    border-radius: 100%; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    padding: 5px; 
 
} 
 

 
.tabs>li:last-child .tbno { 
 
    right: -30px; 
 
} 
 

 
.tabs>li .nav-arrow { 
 
    position: absolute; 
 
    top: 0px; 
 
    right: -30px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 20px 10px 20px 20px; 
 
    border-color: #fff #fff #fff #e04411; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li .nav-wedge { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: -20px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 20px 0 20px 20px; 
 
    border-color: #e04411 #eeeeee #e04411 transparent; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li.active .nav-arrow { 
 
    border-color: #fff #fff #fff #444; 
 
} 
 

 
.tabs>li.active .nav-wedge { 
 
    border-color: #444 #444 #444 transparent; 
 
} 
 

 
.tabs>li.active span { 
 
    background-color: #444; 
 
    color: #fff; 
 
    width: 100%; 
 
} 
 

 
@media (max-width: 1200px) { 
 
    .tabs.three li { 
 
    width: 22%; 
 
    } 
 
    .tabs.four li { 
 
    width: 22%; 
 
    } 
 
} 
 

 
@media (max-width: 992px) { 
 
    .tabs.four li { 
 
    width: 20%; 
 
    } 
 
} 
 

 
@media (max-width: 640px) { 
 
    .tabs.four li { 
 
    width: 18.5%; 
 
    } 
 
    .tabs>li span { 
 
    padding: 11px 6px; 
 
    } 
 
    .tabs>li .tbno { 
 
    display: none; 
 
    } 
 
} 
 

 
@media (max-width: 400px) { 
 
    .tabs.four li { 
 
    width: 17%; 
 
    } 
 
}
<ul class="tabs four"> 
 
    <li><span>Booking</span> 
 
    <div class="tbno">1</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Services</span> 
 
    <div class="tbno">2</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li class="active"> 
 
    <div class="nav-wedge"></div> 
 
    <span>Confirmation</span> 
 
    <div class="tbno">3</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Payment</span> 
 
    <div class="tbno">4</div> 
 
    </li> 
 
</ul>

Source

+0

をうん!今すぐ... :) – Vishnu

+0

'' inline-boxes' *** [here](https://www.w3.org/TR/CSS2/visuren.html#inline-boxes)の詳細を読むことができます*** –

0

.tabs { 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.tabs.three li { 
 
    width: 31.4%; 
 
} 
 

 
.tabs.four li { 
 
    width: 23%; 
 
} 
 

 
.tabs>li { 
 
    position: relative; 
 
    overflow: visible; 
 
    border-right: 15px solid transparent; 
 
    border-left: 15px solid transparent; 
 
    float: left; 
 
} 
 

 
.tabs>li+li { 
 
    margin-left: 0; 
 
} 
 

 
.tabs>li:first-child { 
 
    border-left: 0; 
 
} 
 

 
.tabs>li:last-child { 
 
    border-right: 0; 
 
} 
 

 
.tabs>li span { 
 
    border-radius: 0; 
 
    background-color: #e04411; 
 
    padding: 10px; 
 
    display: inline-block; 
 
    padding: 11px 20px; 
 
    color: #fff; 
 
    width: 100%; 
 
} 
 

 
.tabs>li .tbno { 
 
    position: absolute; 
 
    width: 20px; 
 
    height: 20px; 
 
    right: 0; 
 
    top: 5px; 
 
    background: rgba(255, 255, 255, 0.8); 
 
    color: #333; 
 
    border-radius: 100%; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    padding: 5px; 
 
} 
 

 
.tabs>li:last-child .tbno { 
 
    right: -30px; 
 
} 
 

 
.tabs>li .nav-arrow { 
 
    position: absolute; 
 
    top: 0px; 
 
    right: -30px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 21px 10px 21px 20px; 
 
    border-color: #fff #fff #fff #e04411; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li .nav-wedge { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: -20px; 
 
    width: 0px; 
 
    height: 0px; 
 
    border-style: solid; 
 
    border-width: 21px 0 21px 20px; 
 
    border-color: #e04411 #eeeeee #e04411 transparent; 
 
    z-index: 150; 
 
} 
 

 
.tabs>li.active .nav-arrow { 
 
    border-color: #fff #fff #fff #444; 
 
} 
 

 
.tabs>li.active .nav-wedge { 
 
    border-color: #444 #444 #444 transparent; 
 
} 
 

 
.tabs>li.active span { 
 
    background-color: #444; 
 
    color: #fff; 
 
    width: 100%; 
 
} 
 

 
@media (max-width: 1200px) { 
 
    .tabs.three li { 
 
    width: 22%; 
 
    } 
 
    .tabs.four li { 
 
    width: 22%; 
 
    } 
 
} 
 

 
@media (max-width: 992px) { 
 
    .tabs.four li { 
 
    width: 20%; 
 
    } 
 
} 
 

 
@media (max-width: 640px) { 
 
    .tabs.four li { 
 
    width: 18.5%; 
 
    } 
 
    .tabs>li span { 
 
    padding: 11px 6px; height:20px; 
 
    } 
 
    .tabs>li .tbno { 
 
    display: none; 
 
    } 
 
} 
 

 
@media (max-width: 400px) { 
 
    .tabs.four li { 
 
    width: 17%; 
 
    } 
 
}
<ul class="tabs four"> 
 
    <li><span>Booking</span> 
 
    <div class="tbno">1</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Services</span> 
 
    <div class="tbno">2</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li class="active"> 
 
    <div class="nav-wedge"></div> 
 
    <span>Confirmation</span> 
 
    <div class="tbno">3</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Payment</span> 
 
    <div class="tbno">4</div> 
 
    </li> 
 
</ul>

+0

使用ボーダートップまたはボーダー底部は、Firefoxと罰金であるが、クロムで問題 –

+0

これと – Vishnu

+0

@media(最大幅:640ピクセル) JS:125 .tabs>リチウムスパン{ パディング:11px計6Px。 身長:20px; } –

2

あなたのコードにreset cssを追加するだけで、ほとんどの編集ですべてのブラウザで同じ表示がレンダリングされます。

html, body, div, span, applet, object, iframe, 
 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
 
a, abbr, acronym, address, big, cite, code, 
 
del, dfn, em, img, ins, kbd, q, s, samp, 
 
small, strike, strong, sub, sup, tt, var, 
 
b, u, i, center, 
 
dl, dt, dd, ol, ul, li, 
 
fieldset, form, label, legend, 
 
table, caption, tbody, tfoot, thead, tr, th, td, 
 
article, aside, canvas, details, embed, 
 
figure, figcaption, footer, header, hgroup, 
 
menu, nav, output, ruby, section, summary, 
 
time, mark, audio, video { 
 
\t margin: 0; 
 
\t padding: 0; 
 
\t border: 0; 
 
\t font-size: 100%; 
 
\t font: inherit; 
 
\t vertical-align: baseline; 
 
} 
 
/* HTML5 display-role reset for older browsers */ 
 
article, aside, details, figcaption, figure, 
 
footer, header, hgroup, menu, nav, section { 
 
\t display: block; 
 
} 
 
body { 
 
\t line-height: 1; 
 
} 
 
ol, ul { 
 
\t list-style: none; 
 
} 
 
blockquote, q { 
 
\t quotes: none; 
 
} 
 
blockquote:before, blockquote:after, 
 
q:before, q:after { 
 
\t content: ''; 
 
\t content: none; 
 
} 
 
table { 
 
\t border-collapse: collapse; 
 
\t border-spacing: 0; 
 
} 
 

 

 
.tabs { 
 
\t margin: 0; 
 
\t padding: 0; 
 
\t list-style: none; 
 
} 
 
.tabs.three li { 
 
\t width: 31.4%; 
 
} 
 
.tabs.four li { 
 
\t width: 23%; 
 
} 
 
.tabs > li { 
 
\t position: relative; 
 
\t overflow: visible; 
 
\t border-right: 15px solid transparent; 
 
\t border-left: 15px solid transparent; 
 
\t float: left; 
 
} 
 
.tabs > li + li { 
 
\t margin-left: 0; 
 
} 
 
.tabs > li:first-child { 
 
\t border-left: 0; 
 
} 
 
.tabs > li:last-child { 
 
\t border-right: 0; 
 
} 
 
.tabs > li span { 
 
\t border-radius: 0; 
 
\t background-color: #e04411; 
 
\t display: inline-block; 
 
\t padding: 12px 20px; 
 
\t color: #fff; 
 
\t width: 100%; 
 
} 
 
.tabs > li .tbno { 
 
\t position: absolute; 
 
    width: 20px; 
 
    height: 20px; 
 
    right: 0; 
 
    top: 5px; 
 
    background: rgba(255,255,255,0.8); 
 
    color: #333; 
 
    border-radius: 100%; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    padding: 5px; 
 
} 
 
.tabs > li:last-child .tbno { 
 
    right: -30px; 
 
} 
 
.tabs > li .nav-arrow { 
 
\t position: absolute; 
 
\t top: 0px; 
 
\t right: -30px; 
 
\t width: 0px; 
 
\t height: 0px; 
 
\t border-style: solid; 
 
\t border-width: 20px 10px 20px 20px; 
 
\t border-color: #fff #fff #fff #e04411; 
 
\t z-index: 150; 
 
} 
 
.tabs > li .nav-wedge { 
 
\t position: absolute; 
 
\t top: 0px; 
 
\t left: -20px; 
 
\t width: 0px; 
 
\t height: 0px; 
 
\t border-style: solid; 
 
\t border-width: 20px 0 20px 20px; 
 
\t border-color: #e04411 #eeeeee #e04411 transparent; 
 
\t z-index: 150; 
 
} 
 
.tabs > li.active .nav-arrow { 
 
\t border-color: #fff #fff #fff #444; 
 
} 
 
.tabs > li.active .nav-wedge { 
 
\t border-color: #444 #444 #444 transparent; 
 
} 
 
.tabs > li.active span { 
 
\t background-color: #444; 
 
\t color: #fff; 
 
\t width: 100%; 
 
} 
 

 
@media (max-width: 1200px) { 
 
.tabs.three li { 
 
\t width: 22%; 
 
} 
 
.tabs.four li { 
 
\t width: 22%; 
 
} 
 
} 
 

 
@media (max-width: 992px) { 
 
.tabs.four li { 
 
\t width: 20%; 
 
} 
 
} 
 

 
@media (max-width: 640px) { 
 
.tabs.four li { 
 
\t width: 18.5%; 
 
} 
 
.tabs > li span { 
 
\t /*padding: 11px 6px;*/ 
 
} 
 
.tabs > li .tbno { 
 
\t display:none; 
 
} 
 
} 
 

 
@media (max-width: 400px) { 
 
.tabs.four li { 
 
\t width: 17%; 
 
} 
 
}
<ul class="tabs four"> 
 
    <li><span>Booking</span> 
 
    \t <div class="tbno">1</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Services</span> 
 
    <div class="tbno">2</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li class="active"> 
 
    <div class="nav-wedge"></div> 
 
    <span>Confirmation</span> 
 
    <div class="tbno">3</div> 
 
    <div class="nav-arrow"></div> 
 
    </li> 
 
    <li> 
 
    <div class="nav-wedge"></div> 
 
    <span>Payment</span> 
 
    \t <div class="tbno">4</div> 
 
    </li> 
 
</ul>

+0

いくつですか? @media(最大幅:640ピクセル)あなたはこのメディアクエリに – dippas

+0

を作っ編集されなければならないと言う{ .tabs.four李{ \t幅:18.5%; } .tabs> li span { \t/*パディング:11px 6px; */{これを使用しない} } .tabs> li。tbno { \tディスプレイ:なし;このクラスでは } } はちょうど二重の詰め物を取り出した: .tabs>李スパン – syedz

0

.tabs>li span要素の高さは以下のように計算される:

padding-top + line-height + padding-bottom11px + line-height + 11pxに等しいです。 デフォルト値はline-heightなので、これはブラウザでの表示とは異なります。したがって、最終的な高さは.tabs>li spanです。しかし矢印の高さはちょうどborder-top-width + border-bottom-widthで固定値(40px)です。次に、.tabs>li spanの高さが40pxより大きい場合、上記の効果が発生します。

.tabs>li spanline-height: 18pxに設定すると、11px + 18px + 11px = 40pxを満たすことができます。

関連する問題