不可缩放元素
Unzoomable element
我想 div
大小等于 1 个屏幕像素,无论当前浏览器缩放。
这个元素尽可能小对我来说很重要,但如果下一个元素试图获得与容器相同或更大的大小,则会导致换行。
我使用了 1px
但是当页面缩放小于 100% 时它变得不稳定 - 有时它有效,但有时 Chrome 将元素缩小到 0 并且不换行下一个元素。所以我希望在其他zooms上放大element,但是不知道怎么检测。
似乎在我的电脑上,下一个片段工作正常,但在实际代码中,如果浏览器缩放小于 100%,类似的事情就会不稳定。 在此示例中,我希望红色 div 占据屏幕宽度的 1px,而不管当前缩放比例如何。 这可能吗?
~function () {
var s = "When silver div gets too wide it should jump down..."
var i = s.length
var div = document.querySelector(".content");
setInterval(function () {
div.textContent = s.slice(0, i = ++i % (s.length + 1))
}, 100)
}()
section {
width: 15em;
height: 2em;
line-height: 2em;
border: 1px solid;
}
div {
display: inline-block;
vertical-align: top;
height: 100%;
}
.narrow {
width: 1px;
background: red;
margin-bottom: 1px;
}
.content {
background: silver;
white-space: nowrap;
}
<section><div class=narrow></div><div class=content></div></section>
对于webkit
,媒体查询是可能的:
~function () {
var s = "When silver div gets too wide it should jump down..."
var i = s.length
var div = document.querySelector(".content");
setInterval(function () {
div.textContent = s.slice(0, i = ++i % (s.length + 1))
}, 100)
}()
section {
width: 15em;
height: 2em;
line-height: 2em;
border: 1px solid;
}
div {
display: inline-block;
vertical-align: top;
height: 100%;
}
.narrow {
width: 1px;
background: red;
margin-bottom: 1px;
}
@media (-webkit-min-device-pixel-ratio: .1 ) { .narrow { width: 10px; } }
@media (-webkit-min-device-pixel-ratio: .25) { .narrow { width: 4px; } }
@media (-webkit-min-device-pixel-ratio: .3 ) { .narrow { width: 3px; } }
@media (-webkit-min-device-pixel-ratio: .5 ) { .narrow { width: 2px; } }
@media (-webkit-min-device-pixel-ratio: 1 ) { .narrow { width: 1px; } }
.content {
background: silver;
white-space: nowrap;
}
<section><div class=narrow></div><div class=content></div></section>
我想 div
大小等于 1 个屏幕像素,无论当前浏览器缩放。
这个元素尽可能小对我来说很重要,但如果下一个元素试图获得与容器相同或更大的大小,则会导致换行。
我使用了 1px
但是当页面缩放小于 100% 时它变得不稳定 - 有时它有效,但有时 Chrome 将元素缩小到 0 并且不换行下一个元素。所以我希望在其他zooms上放大element,但是不知道怎么检测。
似乎在我的电脑上,下一个片段工作正常,但在实际代码中,如果浏览器缩放小于 100%,类似的事情就会不稳定。 在此示例中,我希望红色 div 占据屏幕宽度的 1px,而不管当前缩放比例如何。 这可能吗?
~function () {
var s = "When silver div gets too wide it should jump down..."
var i = s.length
var div = document.querySelector(".content");
setInterval(function () {
div.textContent = s.slice(0, i = ++i % (s.length + 1))
}, 100)
}()
section {
width: 15em;
height: 2em;
line-height: 2em;
border: 1px solid;
}
div {
display: inline-block;
vertical-align: top;
height: 100%;
}
.narrow {
width: 1px;
background: red;
margin-bottom: 1px;
}
.content {
background: silver;
white-space: nowrap;
}
<section><div class=narrow></div><div class=content></div></section>
对于webkit
,媒体查询是可能的:
~function () {
var s = "When silver div gets too wide it should jump down..."
var i = s.length
var div = document.querySelector(".content");
setInterval(function () {
div.textContent = s.slice(0, i = ++i % (s.length + 1))
}, 100)
}()
section {
width: 15em;
height: 2em;
line-height: 2em;
border: 1px solid;
}
div {
display: inline-block;
vertical-align: top;
height: 100%;
}
.narrow {
width: 1px;
background: red;
margin-bottom: 1px;
}
@media (-webkit-min-device-pixel-ratio: .1 ) { .narrow { width: 10px; } }
@media (-webkit-min-device-pixel-ratio: .25) { .narrow { width: 4px; } }
@media (-webkit-min-device-pixel-ratio: .3 ) { .narrow { width: 3px; } }
@media (-webkit-min-device-pixel-ratio: .5 ) { .narrow { width: 2px; } }
@media (-webkit-min-device-pixel-ratio: 1 ) { .narrow { width: 1px; } }
.content {
background: silver;
white-space: nowrap;
}
<section><div class=narrow></div><div class=content></div></section>