Windows Phone 上的复选框 CSS 未显示
Checkbox CSS on Windows Phone not showing
我正在创建一个响应式网站并使用复选框 show/hide 移动设备上的菜单。 css 样式(背景图像、颜色等)在我尝试过的所有移动浏览器上都能正常工作,除了 Windows Phone 8 运行 IE 浏览器。
这是css:
input#show-menu[type=checkbox] {
width: 48px !important;
height: 48px !important;
background: transparent url(images/mobile_menu.png) no-repeat center center;
background-size: 15px 16px;
-webkit-appearance: none;
float: right;
border-radius: 0;
display: block;
}
input#show-menu[type=checkbox]:checked {
background: #153e69 url(images/mobile_menu_close.png) no-repeat center center;
background-size: 15px 16px;
}
css 在移动模拟器中运行良好,甚至 Windows 8 模拟器,但在实际设备(在本例中为诺基亚 Lumia 520)上它不会呈现 css.
试图附上屏幕截图,但显然我需要 10 点声望才能做到这一点??!!
谢谢。
好的,所以我自己解决了这个问题,在这里发布给遇到同样问题的其他人。基本上你只能设置 <label>
的样式而不是 <input>
并且它还必须是 class 而不是 id。您还需要将 <input>
设置为 display:none
这是对我有用的 html 和 css:
<input type="checkbox" id="show-menu" role="button">
<label for="show-menu" class="show-menu">Show Menu</label>
.show-menu {
width: 48px !important;
height: 48px !important;
background: transparent url(images/mobile_menu.png) no-repeat center center;
background-size: 15px 16px;
-webkit-appearance: none;
-ms-appearance: none;
-moz-appearance: none;
float: right;
border-radius: 0;
text-indent: -999px;
overflow: hidden;
display: block;
}
input#show-menu[type=checkbox]:checked ~ .show-menu {
background: #153e69 url(images/mobile_menu_close.png) no-repeat center center;
background-size: 15px 16px;
}
我正在创建一个响应式网站并使用复选框 show/hide 移动设备上的菜单。 css 样式(背景图像、颜色等)在我尝试过的所有移动浏览器上都能正常工作,除了 Windows Phone 8 运行 IE 浏览器。
这是css:
input#show-menu[type=checkbox] {
width: 48px !important;
height: 48px !important;
background: transparent url(images/mobile_menu.png) no-repeat center center;
background-size: 15px 16px;
-webkit-appearance: none;
float: right;
border-radius: 0;
display: block;
}
input#show-menu[type=checkbox]:checked {
background: #153e69 url(images/mobile_menu_close.png) no-repeat center center;
background-size: 15px 16px;
}
css 在移动模拟器中运行良好,甚至 Windows 8 模拟器,但在实际设备(在本例中为诺基亚 Lumia 520)上它不会呈现 css.
试图附上屏幕截图,但显然我需要 10 点声望才能做到这一点??!!
谢谢。
好的,所以我自己解决了这个问题,在这里发布给遇到同样问题的其他人。基本上你只能设置 <label>
的样式而不是 <input>
并且它还必须是 class 而不是 id。您还需要将 <input>
设置为 display:none
这是对我有用的 html 和 css:
<input type="checkbox" id="show-menu" role="button">
<label for="show-menu" class="show-menu">Show Menu</label>
.show-menu {
width: 48px !important;
height: 48px !important;
background: transparent url(images/mobile_menu.png) no-repeat center center;
background-size: 15px 16px;
-webkit-appearance: none;
-ms-appearance: none;
-moz-appearance: none;
float: right;
border-radius: 0;
text-indent: -999px;
overflow: hidden;
display: block;
}
input#show-menu[type=checkbox]:checked ~ .show-menu {
background: #153e69 url(images/mobile_menu_close.png) no-repeat center center;
background-size: 15px 16px;
}