GVKun编程网logo

css – 在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?

15

本文将为您提供关于css–在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?的详细介绍,同时,我们还将为您提供关于android–如何填充两个布局之间的剩余空间、cssdiv高度填满父容

本文将为您提供关于css – 在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?的详细介绍,同时,我们还将为您提供关于android – 如何填充两个布局之间的剩余空间、css div高度填满父容器剩余空间、CSS DIV高度撑满剩余空间、css – 两个div之间的备用行颜色的实用信息。

本文目录一览:

css – 在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?

css – 在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?

背景

我正在开发一个基于浏览器的UI,需要在没有任何滚动的情况下填满整个屏幕.基本布局是这样的:

我想要实现的目标

标题div应具有固定高度(2em),其余4个div / panel应根据我设置的百分比分配屏幕的剩余空间.

我试过的

我发现的最佳解决方案是“CSS – How to force elements to 100% of remaining/available space of parent element without extending beyond it?”,它涉及使用位置为绝对的容器div.这适用于所有浏览器,但需要创建一些额外的DIV.此外,由于inaccuracies in percentage widths,有时可以强制面板2在下一行开始.

我之前的解决方案基于CSS3 Flexbox,但该模型存在缺陷,因为在拉伸容器盒之后它不会调整具有百分比高度的子元素(至少Chrome不会). (较新的flex- *属性仅在Chrome中实现,标准仍在变化.)

我也尝试了calc()功能;但是,它还没有在Chrome中实现.此外,它需要在两个地方硬编码标题元素的高度,我一直试图避免.

编辑:

我在找什么

为了清楚起见,我不是要求一个完美的/纯CSS解决方案(因为似乎没有).如果有人可以建议任何可以做到这一点的jQuery插件或开源框架,那对我来说就足够了.

此外,我不要求在2012年之前向浏览器版本提供任何向后兼容性.(只要解决方案使用的技术在某些浏览器中实现,并且将在不久的将来由Firefox和Chrome实现,它就足够了我.)

解决方法

把一些东西扔在一起:
http://jsfiddle.net/gDTGn/2/

android – 如何填充两个布局之间的剩余空间

android – 如何填充两个布局之间的剩余空间

我有一个关于 android布局的问题.

在我的xml文件中,我有两个相对布局.一个通过android附加到顶部:layout_alignParentTop =“true”.

另一个由android附加到底部:layout_alignParentBottom =“true”.

现在这两个视图之间有很大的空间.我想两个用FrameLayout填充剩下的空间,其中应该显示几个不同的片段.

有人知道如何填补我描述的空间吗?

非常感谢!

解决方法

<FrameLayout android:layout_below="@+id/toplayout" 
   android:layout_above="@+id/bottomlayout"/>

css div高度填满父容器剩余空间

css div高度填满父容器剩余空间

总结

以上是小编为你收集整理的css div高度填满父容器剩余空间全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

CSS DIV高度撑满剩余空间

CSS DIV高度撑满剩余空间

页面高度为百分百情况下,内容div实现自动撑满剩下的位置

  1. 头部区域高度为110rpx,内容区域div实现自动撑满剩下的位置。

如果将div 高度设置为100%,会造成多出头部的110rpx,会有滚动条显示!

.content{
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    .search_box{
            position: relative;
            box-sizing: border-box;
            width: 100%;
            height: 110rpx;
            border: 1px solid red;
    }
    .list{
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        border: 1px solid green;
    }
}

image.png

此时我们不需要滚动条
  • 方法一、绝对定位,将list css修改为。
    .list{
        width: 100%;
        box-sizing: border-box;
        border: 1px solid green;
        position: absolute;
        top: 110rpx;//头部高度
        left: 0;
        bottom: 0;
    }

image.png

  • 此时已经实现无滚动条效果
  • 方法二、利用 padding-top 和 margin-top ,将 margin-top 设置为负值。
.content{
    width: 100%;
    height: 100%;
    padding-top: 110rpx;
    box-sizing: border-box;
    position: relative;
    .search_box{
        position: relative;
        box-sizing: border-box;
        margin-top: -110rpx;
        width: 100%;
        height: 110rpx;
        border: 1px solid red;
    }
    .list{
        width: 100%;
        box-sizing: border-box;
        border: 1px solid green;
        height: 100%;
    }
}
  • 同样达到效果

image.png

css – 两个div之间的备用行颜色

css – 两个div之间的备用行颜色

我不确定这是否可以在CSS中使用,但如果是,我会很感激一些帮助.

我有类似于以下HTML:

<div></div>

<div></div>
<div></div>
<div></div>
<div></div>

<div></div>
<div></div>
<div></div>

是否可以交替行类的背景颜色?总是以相同的颜色开始?我一直无法使用nth-child实现这一点,我假设它是因为组/子组类.

可以返回的示例数据集的jsfiddle中的手动html标记以及如何设计样式:
http://jsfiddle.net/Qr5Za/

解决方法

‘always starting with the same color’ means that the first row after
group/subgroup starts with red

如果是这样,您可以通过以下方式设置第一个.row红色和其他洋红色的背景颜色:

.group ~ .row { /* select all rows comes after each group */
    background-color: magenta;
}

.group + .row { /* select and override the first row after each group */
    background-color: red;
}

JSBin Demo

这些选择器被称为General sibling combinator~和Adjacent sibling combinator,你可以找到more details here.

更新

所有新的CSS3选择器(如:nth-child(n),:nth-of-type(n))都匹配其父元素的第n个子元素或类型的每个元素.

因此,实现this的唯一方法是将.rows放入每个块的包装器中:

<div>This is a group</div>
<div>This is a subgroup</div>
<div>
  <div>This is the first row</div>
  <div>This is the second row</div>
  <div>This is the third row</div>
  <div>This is the forth row</div>
</div>

并根据它们在.wraper(他们的父级)中的位置选择奇数和偶数行:

.row:nth-child(odd) {
  background-color: red;
}

.row:nth-child(even) {
  background-color: magenta;
}

JSBin Demo #2

我们今天的关于css – 在几个DIV之间分配父元素中的剩余空间的任何可靠的跨浏览器方式?的分享就到这里,谢谢您的阅读,如果想了解更多关于android – 如何填充两个布局之间的剩余空间、css div高度填满父容器剩余空间、CSS DIV高度撑满剩余空间、css – 两个div之间的备用行颜色的相关信息,可以在本站进行搜索。

本文标签: