首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减:高度和宽度百分比为像素,并将它们相加

减:高度和宽度百分比为像素,并将它们相加
EN

Stack Overflow用户
提问于 2014-03-16 13:57:32
回答 1查看 3.2K关注 0票数 3

在“较少”中,我有以下几点定义:

代码语言:javascript
复制
@height-5: (@winheight / 100) * 5;
@height-10: (@winheight / 100) * 10;
...etc

@winheight来自:

代码语言:javascript
复制
@winheight:`$(window).height()`;

(宽度相同)

现在我可以用:

代码语言:javascript
复制
width: ~"@{width-10}px";
height: ~"@{height-100}px";

将窗口的percentage设置为pixels

但现在我想计算一个高度和宽度如下:

代码语言:javascript
复制
left: @width-80 + @height-10 + "px";

或者:

代码语言:javascript
复制
left: ~"@{width-80 + @height-10}px";

第一个不能工作,因为它在valuepx之间放置了一个空格

第二个没有编译,我尝试了一些变体,但没有运气。

第二个问题是,我想用它做一个函数,而不是定义每一个百分比,我尝试了这样做:

代码语言:javascript
复制
.winheight (@percentage){
   height: (@winheight / 100) * @percentage;
}

但是当我在某个类里尝试这个:

代码语言:javascript
复制
.winheight(10)

我得到了一个错误,我想要的是以某种方式返回一个值,比如:

代码语言:javascript
复制
@win_height_perc(@perc):  (@winheight / 100) * @perc;

而不必为height:width:top:left:定义单独的函数

(我正在用$(window).resize更新less.watch()以更新像素/百分比)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-16 14:43:06

要解决第一个问题,您可以使用:

代码语言:javascript
复制
left: @width-80 + @height-10 + 0px;

代码语言:javascript
复制
left: unit(@width-80 + @height-10, px);

当您调用您的.winheight混音时,您会得到什么错误?它应该工作得很好(至少对在较少样式表中定义的静态变量是这样的)。它可能会失败,这取决于其他因素,因为您的@winheight依赖于动态DOM值(对DOM的访问没有保证)。在任何情况下,如果希望将其作为百分比处理,则应该使用%单元调用它:

代码语言:javascript
复制
.winheight(100%)

在减1.7中,这将汇编:

代码语言:javascript
复制
left: ~"@{width-80 + @height-10}px"

但只需打印生成无效CSS的字符串:

代码语言:javascript
复制
left: @{width-80 + @height-10}px
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22437778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档