简体   繁体   English

如何更改 FireFox 中单选按钮的样式?

[英]How to change the style of radio button in FireFox?

I try to change the radio button, I try the following line.我尝试更改单选按钮,我尝试以下行。 My style apples in All browsers but Firefox .我的风格适用于除Firefox 之外的所有浏览 In fact, I don't see the style in Firefox.事实上,我在 Firefox 中看不到样式。

 #payment_method_paypal[type='radio']::after { width: 20px !important; height: 20px !important; border-radius: 3px; top: -6px !important; left: -1px !important; position: relative; background-color: #fff !important; content: ''; display: inline-block; visibility: visible; border: 2px solid #776330 !important; } #payment_method_paypal[type='radio']:checked::after { width: 20px !important; height: 20px !important; border-radius: 3px; top: -6px !important; left: -1px !important; position: relative; background-color: #776330 !important; content: ''; display: inline-block; visibility: visible; border: 2px solid #776330 !important; box-shadow: inset 0 0 0 2px #fff !important; margin-left: 6px; } #payment_method_stripe[type='radio']::after { width: 20px !important; height: 20px !important; border-radius: 3px; top: -6px !important; left: -1px !important; position: relative; background-color: #fff !important; content: ''; display: inline-block; visibility: visible; border: 2px solid #776330 !important; } #payment_method_stripe[type='radio']:checked::after { width: 20px !important; height: 20px !important; border-radius: 3px; top: -6px !important; left: -1px !important; position: relative; background-color: #776330 !important; content: ''; display: inline-block; visibility: visible; border: 2px solid #776330 !important; box-shadow: inset 0 0 0 2px #fff !important; margin-left: 6px; }
 <input id="payment_method_stripe" type="radio" class="input-radio" name="payment_method" value="stripe" checked="checked" data-order_button_text=""> <label for="payment_method_stripe">Credit / Debit Card</label> <input id="payment_method_paypal" type="radio" class="input-radio" name="payment_method" value="paypal" data-order_button_text="Proceed to PayPal"> <label for="payment_method_paypal">PayPal</label>

JSFiddle link JSF 中间链接

How to apply this style in firefox ?如何在Firefox 中应用这种风格? What is the problem that cause not showing in Firefox ?导致Firefox不显示的问题是什么?

I have already tried the following solution:我已经尝试过以下解决方案:

Styling radio button - not work in IE and Firefox How to change style of radio and checkbox input 样式单选按钮 - 不适用于 IE 和 Firefox 如何更改单选和复选框输入的样式

I think this code will work for you.我认为这段代码对你有用。

 .checkbox { position: relative; padding-left: 30px; margin-right: 20px; } .checkbox input { width: 0; height: 0; position: absolute; } .checkbox span { width: 20px; height: 20px; border-radius: 3px; position: absolute; left: 0; top: -1px; background-color: #fff; content: ''; display: inline-block; visibility: visible; border: 2px solid #776330; box-sizing: border-box; } .checkbox span::after { position: absolute; content: ''; left: 2px; top: 2px; width: 12px; height: 12px; background-color: #776330; display: none; } .checkbox input:checked ~ span::after { display: block; }
 <label class="checkbox" for="payment_method_stripe"> <input id="payment_method_stripe" type="radio" class="input-radio" name="payment_method" value="stripe" checked="checked" data-order_button_text=""> <span></span> Credit / Debit Card </label> <label class="checkbox" for="payment_method_paypal"> <input id="payment_method_paypal" type="radio" class="input-radio" name="payment_method" value="paypal" data-order_button_text="Proceed to PayPal"> <span></span> PayPal </label>

I like Sato's answer, but you could also add this to your CSS:我喜欢佐藤的回答,但您也可以将其添加到您的 CSS 中:

input[type='radio'] {
  -moz-appearance: initial !important;
}

I'd try to avoid using !important in your CSS, it's not a good practice to use.我会尽量避免在您的 CSS 中使用!important ,这不是一个好习惯。 I think if you remove it from your code, you could probably remove it from my snippet.我想如果你从你的代码中删除它,你可能可以从我的代码片段中删除它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM