【问题标题】:How to make content body of a website responsive如何使网站的内容主体响应
【发布时间】:2013-01-13 21:10:49
【问题描述】:

我有一个网站,我试图做出响应,当我申请 @media only screen and (min-width: 180px) and (max-width: 267px) 时,右侧的内容区域被切断。下面是我应用到页面的 CSS。 请问我做错了什么?

谢谢。

CSS

.content_body{
margin: 0 auto;
width: 100%;
overflow: hidden;
padding-top: 30px;
 background:    #C9C7BB;
color:    #555;
font-family:  Tahoma, Arial, sans-serif;
font-size:    14px;
min-height: 200px;  
}

.bio_wrapper{
line-height: 25px;
 padding: 20px 0px 500px 50px;
}

 .bio_left{
 width: 800px;
 float: left;
 font-family: lato;
 color: black; 
}

.bio_images{
margin: 0;
margin-top: 30px;
margin-bottom: 90px;
}

.bio_images li{
padding-right: 35px;
display: inline;
list-style-type: none;
}

.bio_images li:last{
   padding-right: none; 
 }

 .bio_images img{
border: 4px solid #999966;
border-radius: 5px; 
}

.bio_mainimage{
float:right;
width: 20%; 
}

  @media only screen and (min-width: 180px) and (max-width: 267px) {

 .bio_mainimage{
  display: none;
  }

.content_body{
margin: 0 auto;
width: 50%;
overflow: hidden;
padding-top: 30px;
 background:    #C9C7BB;
color:    #555;
font-family:  Tahoma, Arial, sans-serif;
font-size:    14px;
min-height: 200px;  
 }

.bio_images img{
display: block;
}
}

Sample Page

【问题讨论】:

  • 这是一个jsfiddle 示例
  • 我刚刚检查了一些东西,看来你有一个很大的.bio_left

标签: html css layout responsive-design


【解决方案1】:

.bio_left 的绝对宽度为 800 像素。因为.content_body 已将溢出设置为隐藏且其宽度为 100%,所以内容会被剪掉。

出现在页面底部的 bios.png 图像更适合作为背景图像。它不显示任何内容,只是在窄设备上看起来很奇怪(不,给它display: none 将其隐藏在窄设备上并不是“删除”它的好方法)。

这种布局确实会受益于首先为窄设备设计样式,然后将所有浮动、绝对宽度和奇数边距隐藏在检查更宽设备的媒体查询中。

此外,媒体查询不需要最小宽度和最大宽度。您可以指定最大宽度。我不认为有任何设备宽度小于 180 像素。

【讨论】:

  • 感谢您的回复。那么您如何建议我隐藏我不想在小屏幕上显示的元素?
  • 使用display: none隐藏文本元素没有问题,只是图像等嵌入元素有问题。即使用户看不到图像,它仍然会被加载。如果使用背景,则可以通过媒体查询为布局设置或不设置(如果未设置,则不会下载)。
  • 你能提供一个简单的例子来说明你在说什么吗?谢谢。
猜你喜欢
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 2013-06-17
相关资源
最近更新 更多