HTML/CSS 移动设备上的列表框
HTML/CSS list box on mobile
以下simple fiddle shows a list box with the set of country names。在 PC 上,高度 属性 告诉页面呈现列表框而不是下拉列表,因此 n 项是可见的。在移动设备上 (iPad/iPhone),高度 属性 似乎告诉页面下拉控件应该有多高(如您所料,它看起来很荒谬)。
我的 CSS class 看起来像这样:
.sliderlist {
width: 240px;
height: 620px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
我想要页面上的列表框,PC 或移动设备,而不是下拉列表。我怎样才能用 HTML/CSS 做到这一点?
为了阐明我的意思,以下是我 iPad 的列表外观照片(它只是一个下拉列表,其高度由高度 属性 给出):
并且在具有相同代码的 PC 上,我们有一个列表框,而不是下拉列表。我也想在手机上使用后者:
这样试试:Demo
.sliderlist {
width: 240px;
height:94vh; /* newly added*/
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
这里有一些东西可以给您带来预期的结果 jsbin。由于某些未知原因,safari 不关心 select 选项的大小参数,因此我们使用 jquery 来完成它。这是我在 Iphone 4.
上得到的结果
此外,要获得适当的缩放级别,您必须在页面的 header 部分包含以下代码。
尝试在页面的标头部分包含以下代码行。更多信息 here
<meta name="viewport" content="width=device-width, height=device-height initial-scale=1">
您可以使用媒体查询为移动设备和桌面设备编写单独的 class。
/*笔记本电脑屏幕*/
@media screen
and (min-device-width: 1200px)
and (max-device-width: 1600px)
and (-webkit-min-device-pixel-ratio: 1) {
.sliderlist {
width: 240px;
height: 300px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}
/* Portrait and Landscape */
@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2) {
.sliderlist {
width: 150px;
height: 100px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}
/* Portrait */
@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation: portrait) {
.sliderlist {
width: 240px;
height: 300px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}
以下simple fiddle shows a list box with the set of country names。在 PC 上,高度 属性 告诉页面呈现列表框而不是下拉列表,因此 n 项是可见的。在移动设备上 (iPad/iPhone),高度 属性 似乎告诉页面下拉控件应该有多高(如您所料,它看起来很荒谬)。
我的 CSS class 看起来像这样:
.sliderlist {
width: 240px;
height: 620px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
我想要页面上的列表框,PC 或移动设备,而不是下拉列表。我怎样才能用 HTML/CSS 做到这一点?
为了阐明我的意思,以下是我 iPad 的列表外观照片(它只是一个下拉列表,其高度由高度 属性 给出):
并且在具有相同代码的 PC 上,我们有一个列表框,而不是下拉列表。我也想在手机上使用后者:
这样试试:Demo
.sliderlist {
width: 240px;
height:94vh; /* newly added*/
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
这里有一些东西可以给您带来预期的结果 jsbin。由于某些未知原因,safari 不关心 select 选项的大小参数,因此我们使用 jquery 来完成它。这是我在 Iphone 4.
上得到的结果此外,要获得适当的缩放级别,您必须在页面的 header 部分包含以下代码。
尝试在页面的标头部分包含以下代码行。更多信息 here
<meta name="viewport" content="width=device-width, height=device-height initial-scale=1">
您可以使用媒体查询为移动设备和桌面设备编写单独的 class。
/*笔记本电脑屏幕*/
@media screen
and (min-device-width: 1200px)
and (max-device-width: 1600px)
and (-webkit-min-device-pixel-ratio: 1) {
.sliderlist {
width: 240px;
height: 300px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}
/* Portrait and Landscape */
@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2) {
.sliderlist {
width: 150px;
height: 100px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}
/* Portrait */
@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation: portrait) {
.sliderlist {
width: 240px;
height: 300px;
font-size: 12px;
font-family: "Verdana", Geneva, sans-serif;
}
}