当前位置: 首页 > 面试题库 >

CSS表达式设置div的高度

弘阳德
2023-03-14
问题内容

我想基于CSS表达式设置div的高度。

基本上,应将其设置为 我尝试过以下操作的视口 宽度的 某些百分比(例如90%),但不起作用;

height:expression(document.documentElement.clientWidth ? document.documentElement.clientWidth : window.innerWidth );

我正在寻找一种跨浏览器的方式(IE7 +,FF4 +,Safari)


问题答案:

除IE之外,CSS表达式均不受支持(即使在那里也被认为是一个坏主意)。

但是,实际上并没有其他方法可以完成您要问的事情,至少不仅仅使用CSS。

唯一的选择是使用Javascript,这是我认为您必须要做的。

实际上,IE的CSS表达式本身就是Javascript,它可以使用功能强大的表达式,但也具有消除布局和脚本抽象的负面影响。这就是为什么它们不被接受的原因,但是在像您这样的用例中,纯布局需要某种形式的表达。

就像我说的那样,CSS现在真的没有任何答案。

未来可能会有希望,因为Google目前正在尝试对CSS进行一些增强,其中包括变量。但是,我不确定这是否还会允许您使用所需的表达式。

因此,将来可能需要继续使用Javascript。无论哪种方式,它现在肯定都可以。



 类似资料:
  • 问题内容: 我有三分之二的div。所包含的div之一向左浮动,另一个向右浮动。我希望2个同级div始终处于相同的高度,但是对此存在问题。到目前为止,我只在Firefox中查看该页面,并认为在至少一个浏览器中运行它后,我会担心任何跨浏览器的问题。 这是标记: 这是CSS: 如果中的内容长于,则不会扩展为匹配。在我尝试了一个例子,说的Firefox的计算式的高度是,的计算式的高度是和的计算的风格高度为

  • 问题内容: 我正在尝试将表格列分为两列。我希望最右边的列停靠在页面的右边,并且此列应具有不同的背景色。右侧的内容几乎总是小于左侧的内容。我希望右侧的div始终足够高,以到达其下一行的分隔符。如何使背景色填充该空间? 编辑:我同意这个示例非常类似于表,并且实际表将是一个不错的选择。但是我的“真实”页面最终将变得不像表格一样,我只想首先掌握此任务! 另外,由于某种原因,当我在IE7中创建/编辑帖子时,

  • 问题内容: 在Web应用程序中,我的页面包含一个DIV,该DIV的自动宽度取决于浏览器窗口的宽度。 我需要该对象的自动高度。DIV从顶部屏幕开始约300像素,其高度应使其延伸到浏览器屏幕的底部。我有一个容器DIV的最大高度,所以div的最小高度必须是最小。我相信我可以将其限制在CSS中,并使用Javascript处理DIV的大小。 我的JavaScript不够理想。我可以编写一个简单的脚本来为我做

  • 问题内容: 我在某处读到CSS表达式已被弃用,甚至不应该使用。我从没听说过它们,所以决定看看。我找到了一个代码示例,即使您滚动,该示例也将浮动元素保留在屏幕上的同一位置。 这让我想起了在页面底部具有“共享栏”和内容的网站。 所以… 这是他们的做法吗? 在这种情况下可以使用表达式吗? 如果没有,我应该怎么用? 表达式还可以提供其他有用的帮助吗? 问题答案: CSS表达式曾经在较旧的IE中起作用,但在

  • 问题内容: 我有一个包装器div,其中两个容器彼此相邻。在此容器上方,我有一个包含我的标头的div。包装div必须为100%减去标题的高度。标头约为60像素。这是固定的。所以我的问题是:如何将包装div的高度设置为100%减去60像素? 问题答案: 这是一个正常工作的CSS,已在Firefox / IE7 / Safari / Chrome / Opera下进行了测试。 w3c尚未批准“ over

  • 问题内容: 是否可以使包装器填充窗口高度(不滚动),并且可以使div滚动中心而不弄乱像素和javascript? 基本上,我希望页眉在顶部可见,而页脚在底部始终可见,并且在中心具有可滚动的内容,占据剩余的高度。 页眉,页脚和中心div的高度都是未知的(未设置px或%,即可变的字体大小或填充)。纯CSS可能吗? 问题答案: html, body {