2016-04-27 1 views
0

Je cherche un moyen de créer une barre d'onglets qui ressemble à celle de google chrome sans utiliser de ressources CSS3 ou d'image. Je veux que cela fonctionne dans IE8.
Chrome tabsÉlément de style comme une languette chromée sans transformation CSS3?

...

C'est un CSS3 example que je trouve sur Internet, mais comme vous pouvez le voir, il utilise « transformer », ce qui est disponible dans IE8.

.tab-box { 
    height:50px; 
    background: #fff; 
    border-radius: 4px; 
    border:1px solid #ccc; 
    margin:0 10px 0; 
    box-shadow: 0 0 2px #fff inset; 


-webkit-transform: perspective(100px) rotateX(30deg); 
-moz-transform: perspective(100px) rotateX(30deg); 

} 

Chrome style tabs

+4

Fondamentalement, si vous soutenez IE8 ... images d'arrière-plan. Sinon, SVG. –

+2

L'exemple utilise 'border-radius', qui ne fonctionne pas non plus dans IE8. Vous n'aurez pas de chance d'obtenir un tel look sans images. Mais demandez-vous: vous en souciez-vous? Ainsi, les personnes ayant des navigateurs obsolètes auront des onglets rectangulaires obsolètes. Boo-frickin'-hoo. Peut-être qu'ils devraient damner bien mise à niveau au lieu d'utiliser un navigateur obsolète, périmé et extrêmement vulnérable? –

+1

@NiettheDarkAbsol Malheureusement, autant que je suis d'accord, si le PO a des directives spécifiques qu'il doit suivre, par exemple il travaille pour une entreprise ou est un freelance pour un client, leur disant simplement de "mettre à jour" n'est pas une bonne réponse. Il se peut également que le site/logiciel qu'il est en train d'écrire soit fait pour un logiciel de serveur spécifique qui n'exécutera pas de logiciel mis à jour. (à partir de mars 2016, 7,8% des utilisateurs utilisent encore IE8: source C: https://www.netmarketshare.com/browser-market-share.aspx) –

Répondre

1

Pour IE ancien < 9 ajouter la classe ie,
pour non -IE < 9 navigateurs font des choses incroyables avec votre gradient etc ....

html, body{height:100%; margin:0;font:16px/24px sans-serif;} 
 
body{background:#abc;} 
 
div{background:#fff;overflow:auto;} 
 

 
/*TABS DEFAULT STYLES*/ 
 
/* here goes your awesomeness*/ 
 
.tabs{margin-bottom:0;padding:0;list-style:none;} 
 
.tabs:after{content:"";display:table;clear:both;} 
 

 
/*TABS IE*/ 
 
.tabs.ie li{ 
 
    position:relative; 
 
    overflow:hidden; 
 
    float:left; 
 
    margin-right: -6px; /* (3) than adjust this value for the overlap */ 
 
} 
 
.tabs.ie li a{ 
 
    background: #ddd; 
 
    position:relative; 
 
    display:block; 
 
    padding: 4px 12px; 
 
    margin: 0 12px; /* (2) adjust the value till the borders corner touch */ 
 
} 
 
.tabs.ie li a:before, 
 
.tabs.ie li a:after{ 
 
    content: ""; 
 
    position:absolute; 
 
    top: 1px; width: 1px; /*(fictive 1px "roundness")*/ 
 
    border-bottom: 60px solid #ddd; /* (1) Edit px till border is not cut */ 
 
} 
 
.tabs.ie li a:before{ 
 
    left: -21px; /* 20border + 1width */ 
 
    border-left: 20px solid transparent; 
 
} 
 
.tabs.ie li a:after{ 
 
    right: -21px; /* 20border + 1width */ 
 
    border-right: 20px solid transparent; 
 
    z-index:2; 
 
} 
 
/* ACTIVE TAB */ 
 
.tabs.ie li a.active{ 
 
    background:#fff; 
 
} 
 
.tabs.ie li a.active:after, 
 
.tabs.ie li a.active:before{ 
 
    border-bottom-color:#fff; 
 
    z-index:2; 
 
} 
 

 
.tabs.ie li:after{ 
 
    content: ""; 
 
    position:absolute; 
 
    top: 1px; width: 2px; 
 
    border-bottom: 60px solid #999; 
 
    right: -10px; 
 
    border-right: 20px solid transparent; 
 
    z-index:1; 
 
}
<ul class="tabs ie"> 
 
    <li><a>HOME</a></li> 
 
    <li><a class="active">ABOUT</a></li> 
 
    <li><a>PROJECTS</a></li> 
 
    <li><a>CONTACT</a></li> 
 
</ul> 
 

 
<div><h1>ABOUT</h1></div>

+0

Nice qui semble fonctionner. Y a-t-il un moyen de rendre les coins un peu plus ronds? – Forivin

+0

@Forivin IE6,7,8? non. –

+0

Pas même s'il est combiné avec ce que fait css3pie? http://css3pie.com/ – Forivin