使用媒体查询在 row/two 行中显示图像时遇到问题
Having trouble displaying images in one row/two rows using media queries
我想要一个响应式页面,如果屏幕足够大,我的登录图像将显示在一行上,否则,它们会分两行显示。所以我有这个 HTML
<div id="loginBox">
<div>Login/Sign Up</div>
<div id="loginLogos">
<div id="row1">
<a href="/auth/google"><img border="0" alt="Google" src="http://www.racertracks.com/assets/google_plus_icon-8d7622763257233cf58e0465806f58d7c4b82b85271c2d03d0e02b2fadc4ac76.jpg"></a>
<a href="/auth/facebook"><img border="0" alt="Facebook" src="http://www.racertracks.com/assets/facebook-b74d7c49fd91aa6ca76518bf46c7b75fa3b23f47028bea4b2ffaa39f5776dd91.png"></a>
</div>
<div id="row2">
<a href="/auth/twitter"><img border="0" alt="Twitter" src="http://www.racertracks.com/assets/twitter_icon-7dbf8db24c3ad328ea28cba340e4f53e033b64b149850324822cdb622d77f331.png"></a>
<a href="/auth/linkedin"><img border="0" alt="LinkedIn" src="http://www.racertracks.com/assets/linkedin-1d4c0d36adcec44fd86c11c47834e51e3f3226b623f91a2f215993633956e431.png"></a>
</div>
</div>
</div>
然后我使用媒体查询尝试做我想做的事......
#one {
float:left;
}
@media screen and (max-width: 400px) {
#one {
float: none;
}
}
但是,在正常屏幕尺寸下,图像会分成两行而不是一行 — https://jsfiddle.net/ocdz4bsp/。对于小屏幕,它们正确地换行成两行。对于超过 400 像素的屏幕尺寸,如何将所有内容都放在一行中?
如果您希望 2 个元素并排,请使用 display: inline-block
如果您希望它们相互堆叠,请使用 display: block
这是更正后的 fiddle:https://jsfiddle.net/ocdz4bsp/1/
希望对您有所帮助。
您真的不需要任何媒体查询来实现您想要的效果。通过正确使用浮动,项目将在需要时自行堆叠。参见 here
#row1, #row2 {
float:left;
}
#row1 {
margin-right: 5px;
}
如果您设置了 @media
个查询,那么您可以执行以下操作:
#row1, #row2 {
float:left;
}
#row1 {
margin-right: 5px;
}
@media only screen and (max-width: 400px) {
#row1, #row2 {
float: none;
margin-right: none;
}
}
我想要一个响应式页面,如果屏幕足够大,我的登录图像将显示在一行上,否则,它们会分两行显示。所以我有这个 HTML
<div id="loginBox">
<div>Login/Sign Up</div>
<div id="loginLogos">
<div id="row1">
<a href="/auth/google"><img border="0" alt="Google" src="http://www.racertracks.com/assets/google_plus_icon-8d7622763257233cf58e0465806f58d7c4b82b85271c2d03d0e02b2fadc4ac76.jpg"></a>
<a href="/auth/facebook"><img border="0" alt="Facebook" src="http://www.racertracks.com/assets/facebook-b74d7c49fd91aa6ca76518bf46c7b75fa3b23f47028bea4b2ffaa39f5776dd91.png"></a>
</div>
<div id="row2">
<a href="/auth/twitter"><img border="0" alt="Twitter" src="http://www.racertracks.com/assets/twitter_icon-7dbf8db24c3ad328ea28cba340e4f53e033b64b149850324822cdb622d77f331.png"></a>
<a href="/auth/linkedin"><img border="0" alt="LinkedIn" src="http://www.racertracks.com/assets/linkedin-1d4c0d36adcec44fd86c11c47834e51e3f3226b623f91a2f215993633956e431.png"></a>
</div>
</div>
</div>
然后我使用媒体查询尝试做我想做的事......
#one {
float:left;
}
@media screen and (max-width: 400px) {
#one {
float: none;
}
}
但是,在正常屏幕尺寸下,图像会分成两行而不是一行 — https://jsfiddle.net/ocdz4bsp/。对于小屏幕,它们正确地换行成两行。对于超过 400 像素的屏幕尺寸,如何将所有内容都放在一行中?
如果您希望 2 个元素并排,请使用 display: inline-block
如果您希望它们相互堆叠,请使用 display: block
这是更正后的 fiddle:https://jsfiddle.net/ocdz4bsp/1/
希望对您有所帮助。
您真的不需要任何媒体查询来实现您想要的效果。通过正确使用浮动,项目将在需要时自行堆叠。参见 here
#row1, #row2 {
float:left;
}
#row1 {
margin-right: 5px;
}
如果您设置了 @media
个查询,那么您可以执行以下操作:
#row1, #row2 {
float:left;
}
#row1 {
margin-right: 5px;
}
@media only screen and (max-width: 400px) {
#row1, #row2 {
float: none;
margin-right: none;
}
}