html - CSS 中的 left 和 right 属性是否可以使用“calc”?
问题描述
我尝试使用left:calc(width:/2);
但没有用。有没有办法使用“calc”来控制左右css属性?
我也尝试过使用 webkit,但它没有用。
解决方案
这根本不是 calc 的工作方式,并且应该被使用。calc 用于计算基于多个单位的数量,而不是基于多个 css 属性。
例如,您不能直接根据宽度计算左侧。
但是,您可以做的是例如这样的事情:
element {
width: 78%;
left: calc(78% / 2);
}
在这里,您只需手动复制宽度的值并将其除以 2,但由于它始终为 78%,您不妨将其替换为:
element {
width: 78%;
left: 39%;
}
这可能会让你感到困惑,因为那时真的不需要 calc() 但是 calc 有一个非常重要的特性,它很有用。
该功能是能够计算像 px 这样的绝对单位以及像 % 或 vw 这样的相对单位
一个实际的例子:
假设您有一个包含 2 个垂直放置在彼此之上的 div 的站点。顶部是标题,底部可能是页面的内容。
假设您希望标题始终为 50px 高,然后您可以像这样定义标题:
#header {
height: 50px
}
然后你希望内容是页面的其余部分,这将是窗口高度(100vh)减去标题所取的 50px,内容元素的高度应该是 100vh - 50px,可以使用 calc 计算() 像这样:
#content {
height: calc(100vh - 5px);
}
简单地说:您的 css 不起作用的原因是因为您误解了 css calc() 的用途和用途。
注意:请记住始终在 calc 函数中的运算符周围放置空格,否则它将根本不起作用。
所以这将起作用:
calc(100% - 50px);
但这不起作用:
calc(100%-50px);
推荐阅读
- jquery - 如何使用 JavaScript 存储生成的 CSV?
- atlassian-sourcetree - 如何删除源树中已在源中删除的分支
- docker - 如何推送标签与 docker hub 存储库不同的 docker 镜像?
- angular - 从 API 调用添加数据时,离子手势停止工作,可能是生命周期问题?(角)
- sql - 如何在使用 JPA 的查询中多次使用相同的参数?
- node.js - 在 KafkaJS 中添加 keystore 和 truststore 配置
- python-3.x - 脚本未检索所有信息
- java - 无法在 Android 中找到用于处理 `javax.xml.bind.JAXBElement<> 类型值的类 `com.fasterxml.jackson.databind.ext.CoreXMLDeserializers`
- gitlab - GitLab Groups API - 返回组中所有项目的列表,包括子组中的项目(GitLab 版本 10.8)
- excel - Capital IQ Excel 插件