<button> extra-Polsterung problem in Safari
Den Beispiel-Seite:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Button test</title>
<style>
* { border: none; margin: 0; padding: 0; }
body { padding: 5em; }
span { background: lightblue; display: inline-block; }
button { background: red; outline: 1px solid red }
button div { background: yellow; }
button::-moz-focus-inner {
padding: 0;
border: 0;
}
button {
-webkit-appearance: none;
-webkit-box-sizing: content-box;
-webkit-box-align: start;
-webkit-border-fit: lines;
-webkit-margin-collapse: discard;
}
</style>
</head>
<body>
<span>Adjacent text</span><button><div>Button</div></button>
</body>
</html>
Hier ist das Bild:
Können Sie sehen, die extra weiße Polsterung in der Taste. Ist es möglich, um loszuwerden, die Polsterung im Safari-browser?
- Könnten Sie ANKER und die Tasten zu simulieren. Anker haben nicht solche styling-Probleme
- Siehe meine Antwort auf den ähnlichen Vorschlag unten.
- Habt Ihr versucht, mit einem CSS-reset-Blatt? developer.yahoo.com/yui/3/cssreset
- Ja, habe ich. Es wird nicht helfen, wie gut. 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bisschen spät zur party, aber ich fand über-Reiten es die webkit-border-Passform mit:
-webkit-border-fit:border !important;
arbeitete ein Genuss für mich. Besonders nützlich für Magento, wo
webkit-border-fit
Eigenschaft ist nützlich, zu Zeiten, aber kann Probleme verursachen, für bestimmte<button>
's.!important
. Okay, also es scheint sich immer noch nicht gelöst worden ist. Dies ist ein Chrome bug?Den folgenden CSS von Der Filament Group gearbeitet hat bei mir in allen Browsern seit einiger Zeit. Die Basis des CSS, Streifen, Schaltflächen, der alle Ihre styling ist wie folgt:
Den
span
ist für die sliding-doors-Technik (besser als diediv
Sie derzeit verwenden, könnte dies ein problem sein), ein komplettes style-Auflistung finden Sie über den link.margin-top: -1px
bekommen wird, wodurch unerwünschten offset.Das problem behoben wird, in einer version von Safari, ich bin mir nicht sicher was genau, aber in der neuesten (5.1.5) es funktioniert für mich.
Form Elemente wie
<button>
sind in der Regel umgesetzt/gezeichnet als native OS-Steuerung, so dass Sie Aussehen und sich anders Verhalten in verschiedenen Browsern. Wenn Sie wollen die komplette Kontrolle über styling, Sie wären besser dran mit einem<a>
tag.button
Elemente mit links per JS so, dass nicht-JS-fähigen Benutzer sehen nur etwas understyled native-Taste, die in der Regel durchaus akzeptabel: wenn seltene Benutzer JS deaktiviert hat, ist er schon bereit für einige Ungereimtheiten.Um das Problem zu lösen von extra-Polsterung in Chrome & Safari. Sie müssen angeben
position: fixed
dies das problem bei mir gelöst. hoffe es funktioniert für Euch auch!-webkit-appearance: none;
aber das hat auch nicht geholfen.