css - 在主 div 中居中 div 框

标签 css html css-float

我正在开发一个移动网站,该网站的页面需要根据纵向和横向模式进行更改。我有那部分工作。当移动设备处于纵向模式时,它应该显示 4 个框:

[] []
[][]

在横向模式下,它们应该是这样的:

[] [] [] []

我已经完成了大部分工作,但是在纵向和横向模式下,它们都居中偏左。我已经搜索过这个站点并发现了类似的问题,但是在尝试实现该解决方案时,它似乎不起作用。我希望它们居中(使用百分比而不是固定宽度,以便它在任何移动设备上都能正确显示)。我不太熟悉 CSS,请原谅,但这是我的代码:

/* Landscape mode (default) */
div.my_wrapper{
width: auto;
position:relative;
padding:20px;
}

div.my_innerBox {
    width:100%;
    float:left;
    border: 1px solid green;
}

div.my_left_box{
    float: left;
    margin-right:10px;
    padding: 20px;
    /*margin-left:90px;*/

    width: 16%;
    border: 1px solid gray;
}

div.my_right_box{
    float: left;
    margin-right:10px;
    padding:20px;

    width: 16%;
    border: 1px solid gray;
}

div.my_header{
    padding:10px;
    float:left;
    width: 100%;
    border: 1px solid gray;
    margin-bottom:12px;
}

@media only screen and (orientation:portrait){
/* portrait mode */
div.my_wrapper{
width: inherit;
margin-left:auto;
margin-right:auto;
padding:20px;
}

div.my_innerBox {
    width: 95%;
    display:inline;

}
div.my_left_box{
    float: left;
    padding: 20px 10px;
    /*margin-left:90px;*/
    margin: 0 10px 10px 0;
    width: 30%;
    border: 1px solid gray;
}

div.my_right_box{
    float: left;
    margin: 0 10px 10px 0;
    padding:20px 10px;
    width: 30%;
    border: 1px solid gray;
}

div.my_header{
    padding:10px;
    border: 1px solid gray;
    margin-bottom:12px;
    text-align:left;
    float:left;
}
div.my_desc {
    text-align:left;
    font-family:Arial, Helvetica, sans-serif;
    font-size:12px;
    vertical-align:middle;
    position:absolute;
    float:left;
    width:500px;
}
div.my_header_container {
    width:100%;
    float:left;
}
}


<div class="my_header_container">
    <div class="my_header">Title Will Go here
        <div class="my_desc">This is where the description content will    go</div>
    </div>
</div>
<div class="my_wrapper">
    <div class="my_left_box">
        Button 1
    </div>

    <div class="my_right_box">
        Button 2
    </div>
    <div class="my_left_box">
        Button 3
    </div>

    <div class="my_right_box">
        Button 4
    </div>

</div>

另外,我需要将“这是内容描述所在的位置”放在“Title Will Go here”的右侧,并垂直居中。

如有任何帮助,我们将不胜感激。我正在尝试学习 css,因为我更像是一名程序员,而不是设计师。谢谢,我很感激你能给我的任何帮助。

最佳答案

您真的应该考虑使用 SASS 预处理器并利用众多 Compass 扩展的强大功能。

以下是使用 SASS 解决您的问题的方法:http://sassbin.com/gist/5785963/

请注意代码更短更易读。

@fredsbend 说你不能让 float 的东西居中。好吧,当 SASS 自动根据您的喜好精确设置所有元素的宽度时,情况并非如此,而您只提供列号。

关于css - 在主 div 中居中 div 框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17117246/

相关文章:

css - 语义 UI 日历,下拉菜单溢出全宽

CSS - 为什么不使用 float 时容器中的框?

html - IE8 float 问题再次出现

CSS & jQuery - 点击图片,但注册悬停

javascript - 如何在保持响应速度的同时将 YouTube 视频居中?

html - Rotativa 在服务器上的 css 样式有问题

html - 不能相邻 float 两个 100vh 的 div

css - float 和 float 内的填充问题

html - 使用 css 将对象动态调整为相等的列

css - 父选择器是否优先于 CSS 中的子选择器?