- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个小的垂直文本“水印”背景,它在一些 reveal.js 幻灯片的右侧运行。我已经知道我需要使用 transform
来旋转任何我想要垂直运行的元素到页面右侧的长度。
问题是很多几何计算似乎发生在 转换发生之前,结果是当我尝试将元素与 flexbox 对齐时几何计算错误。这是一个几乎有效的基本示例:
div.outer {
position: fixed;
top: 0;
bottom: 0;
right: 0;
background: grey;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
}
.item {
transform: rotate(-90deg);
background: red;
}
<div class="outer">
<div class="item" style="width: 200px">
Some text
</div>
<img class="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAYAAAB7wJiVAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4gYGDxYxe2lIhQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGiSURBVFjD7ZmxzYMwEIVfonQMkA1SUNAiUYBEmYKMkDEyg8fICEeRnhRIMEAkmMDpSUWkS4WU5geMjfiD/EnuzNPZjzvZ5w0zMyz/hp3dAn1erxcejweyLEOapgCAJEkQRRFc14XjOKO1NroZUtc1iqJAnue43+8AgDAMEQQBfN/H4XBYrRHv9xu32w2n06l3HhHheDxitxvx//NEpJQshGAAvUMIwVJKXhtN03Acx4Pr70Ycx9w0zaDuJEOqqmLP80YH43keV1W1GjPatlUy49uUtm3NGiKlVDLj25S1ZAoRKa+/G0Rk1pAxZaqvfK2hVE1dfzf6ShdUS5VuML9eusqy1N6Dsiz/1N+qnCqKotA+mZjQWJIsy2bVUDIkz3PtYExoLEl3z5hLQ8mQ7p6hgwmNNbO1W6BGkiSzaigZEoahdjAmNJYkiqJZNZQMCYJAOxgTGkviuu6sGkqG+L6vHYwJjSVxHAdENPl7IupvNtqLoW2d2OaibS7Olylj+lpENJgZHZPfQ57PJ67XKy6XS+88IQTO5zP2+719oLIPVL/HBwWcbe23UyTxAAAAAElFTkSuQmCC" alt="" />
</div>
问题在于外部 div
的宽度是根据非旋转 flexbox 元素的宽度计算的,因此元素显示出偏离页面。
如果我尝试通过将 align-items
更改为 flex-end
来解决此问题,结果是每个元素都对齐到不同的
div.outer {
position: fixed;
top: 0;
bottom: 0;
right: 0;
background: grey;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
align-items: flex-end;
}
.item {
transform: rotate(-90deg);
background: red;
}
<div class="outer">
<div class="item" style="width: 200px">
Some text
</div>
<img class="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAYAAAB7wJiVAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4gYGDxYxe2lIhQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGiSURBVFjD7ZmxzYMwEIVfonQMkA1SUNAiUYBEmYKMkDEyg8fICEeRnhRIMEAkmMDpSUWkS4WU5geMjfiD/EnuzNPZjzvZ5w0zMyz/hp3dAn1erxcejweyLEOapgCAJEkQRRFc14XjOKO1NroZUtc1iqJAnue43+8AgDAMEQQBfN/H4XBYrRHv9xu32w2n06l3HhHheDxitxvx//NEpJQshGAAvUMIwVJKXhtN03Acx4Pr70Ycx9w0zaDuJEOqqmLP80YH43keV1W1GjPatlUy49uUtm3NGiKlVDLj25S1ZAoRKa+/G0Rk1pAxZaqvfK2hVE1dfzf6ShdUS5VuML9eusqy1N6Dsiz/1N+qnCqKotA+mZjQWJIsy2bVUDIkz3PtYExoLEl3z5hLQ8mQ7p6hgwmNNbO1W6BGkiSzaigZEoahdjAmNJYkiqJZNZQMCYJAOxgTGkviuu6sGkqG+L6vHYwJjSVxHAdENPl7IupvNtqLoW2d2OaibS7Olylj+lpENJgZHZPfQ57PJ67XKy6XS+88IQTO5zP2+719oLIPVL/HBwWcbe23UyTxAAAAAElFTkSuQmCC" alt="" />
</div>
我猜这是因为根据元素的旋转前版本计算了放置基线的位置,然后它们旋转到您在那里看到的位置。
做这样的事情的正确方法是什么?有什么方法可以创建一个元素,在旋转发生后计算关于其位置的几何计算?
最佳答案
调整transform-origin
,在不改变对齐方式的情况下依赖平移
这是在左边:
div.outer {
position: fixed;
top: 0;
bottom: 0;
right: 0;
background: grey;
display: flex;
flex-flow: column nowrap;
}
.item {
transform: rotate(-90deg) translate(-100%);
transform-origin:top left;
background: red;
}
<div class="outer">
<div class="item" style="width: 200px">
Some text
</div>
<img class="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAYAAAB7wJiVAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4gYGDxYxe2lIhQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGiSURBVFjD7ZmxzYMwEIVfonQMkA1SUNAiUYBEmYKMkDEyg8fICEeRnhRIMEAkmMDpSUWkS4WU5geMjfiD/EnuzNPZjzvZ5w0zMyz/hp3dAn1erxcejweyLEOapgCAJEkQRRFc14XjOKO1NroZUtc1iqJAnue43+8AgDAMEQQBfN/H4XBYrRHv9xu32w2n06l3HhHheDxitxvx//NEpJQshGAAvUMIwVJKXhtN03Acx4Pr70Ycx9w0zaDuJEOqqmLP80YH43keV1W1GjPatlUy49uUtm3NGiKlVDLj25S1ZAoRKa+/G0Rk1pAxZaqvfK2hVE1dfzf6ShdUS5VuML9eusqy1N6Dsiz/1N+qnCqKotA+mZjQWJIsy2bVUDIkz3PtYExoLEl3z5hLQ8mQ7p6hgwmNNbO1W6BGkiSzaigZEoahdjAmNJYkiqJZNZQMCYJAOxgTGkviuu6sGkqG+L6vHYwJjSVxHAdENPl7IupvNtqLoW2d2OaibS7Olylj+lpENJgZHZPfQ57PJ67XKy6XS+88IQTO5zP2+719oLIPVL/HBwWcbe23UyTxAAAAAElFTkSuQmCC" alt="" />
</div>
右边是:
div.outer {
position: fixed;
top: 0;
bottom: 0;
right: 0;
background: grey;
display: flex;
flex-flow: column nowrap;
}
.item {
transform: rotate(-90deg) translateY(-100%);
transform-origin:top right;
background: red;
}
<div class="outer">
<div class="item" style="width: 200px">
Some text
</div>
<img class="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAYAAAB7wJiVAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4gYGDxYxe2lIhQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGiSURBVFjD7ZmxzYMwEIVfonQMkA1SUNAiUYBEmYKMkDEyg8fICEeRnhRIMEAkmMDpSUWkS4WU5geMjfiD/EnuzNPZjzvZ5w0zMyz/hp3dAn1erxcejweyLEOapgCAJEkQRRFc14XjOKO1NroZUtc1iqJAnue43+8AgDAMEQQBfN/H4XBYrRHv9xu32w2n06l3HhHheDxitxvx//NEpJQshGAAvUMIwVJKXhtN03Acx4Pr70Ycx9w0zaDuJEOqqmLP80YH43keV1W1GjPatlUy49uUtm3NGiKlVDLj25S1ZAoRKa+/G0Rk1pAxZaqvfK2hVE1dfzf6ShdUS5VuML9eusqy1N6Dsiz/1N+qnCqKotA+mZjQWJIsy2bVUDIkz3PtYExoLEl3z5hLQ8mQ7p6hgwmNNbO1W6BGkiSzaigZEoahdjAmNJYkiqJZNZQMCYJAOxgTGkviuu6sGkqG+L6vHYwJjSVxHAdENPl7IupvNtqLoW2d2OaibS7Olylj+lpENJgZHZPfQ57PJ67XKy6XS+88IQTO5zP2+719oLIPVL/HBwWcbe23UyTxAAAAAElFTkSuQmCC" alt="" />
</div>
关于css - 如何使 flexbox 中的旋转元素固定在页面的右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724517/
似乎这是不可能的,但如果有人提示如何在谷歌浏览器中创建右侧边栏(如 iframe),任何提示都会有所帮助。谢谢。 最佳答案 如果你的意思是这样的 这是来自 google chrome 实验 api:
您好,我在用 C 语言解决编程任务时遇到问题。 The funktion "Trim" should replace all spaces at the end of a String with nu
有什么方法可以找到一个事件(或属性或方法或类似的东西)来检测窗口停靠到左侧或右侧吗? 描述: 通过 WindowState 属性,您可以了解当您的窗口在正常/最小化/最大化这三种状态之间改变状态时。在
我目前需要找到一个算法来确定一个点是在圆弧的右侧还是左侧。 这是以下算法的扩展以包含弧: // isLeft(): tests if a point is Left|On|Right of an i
我正在使用 Selenium 执行测试,该测试在 3 个浏览器上并行执行。我想以下一种方式定位 window :左侧,右侧和底部,所以基本上我正在寻找与 (start btn+left btn...)
如果我有下面的代码,并且我想插入一个带有 jquery 的 div 作为表单标记内的第一个元素,那么最好的方法是什么? //i want to insert a div here with
有没有比这个更好的方法来解决这个问题? def 渲染(arr): single_elements = [] double_elements = [] for i in xrange(len(arr
Home About
我遇到的问题是: www.dondolomemories.it 当调整窗口大小时, Logo 图像直到最后一刻才调整大小,导致可怕的两行菜单溢出。 我花了将近 2 个小时尝试大量不同的设置。有人可以帮
我希望我能很好地解释这一点。我有一个 style="float: right;"的 div在这个 div 中,我有一个包含一些编辑器字段的表。但现在我想要两个文本编辑器框(在 .NET MVC3 @H
如果有人能帮助我解决这个问题,我将不胜感激,因为我无法让它工作。 这是我正在努力处理的代码:http://jsfiddle.net/sp91c3nk/ 基本上,我希望右侧导航栏与灰色主要内容区域处于同
我正在尝试在图像的所有四个边上添加文本,但我无法让正确的文本正确对齐。右边的文字仍然在左边。 fiddle :https://jsfiddle.net/y75L0ww9/ Text on top Te
我正在尝试为顶部以及左侧和右侧设置 css 阴影,但高度降低。我熟悉模糊/半径,但我希望阴影非常短。 picture from wix template (还不能上传,抱歉) 有人可以帮帮我吗?我看到
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve
请看这个jsfiddle . 我想要 与 innerText “嗨!”始终出现在其包含父级的可见部分的底部/右侧。它不应与其父级的内容一起滚动。 HTML: Header
我有一个输入框和一个提交按钮。 当我向右浮动提交按钮时,我希望它在与输入字段相同的点结束 - 这是我的意思的一个例子:http://prntscr.com/aggln5 目前,输入和提交在不同的点结束
我基本上刚刚开始让我的网站响应,但出于某种原因,语言 div (#lang) 设置为向右浮动,正在向右浮动,但在它的右侧有一个小边距。虽然没有填充设置父 div #container,但我无法理解。
我目前正在创建一个网站,该网站有一个带有文本等内容的居中框。现在,我还想要一个漂浮在右边的盒子,与我的主盒子有一点缝隙。留个图吧,我画的红框就是我要制作的 float 框。 顺便说一句。蓝色方框只是我
我不是 UI 开发人员,但这次需要玩 css。为用户配置文件编写表单。我快完成了,但还有一个小问题。问题 个人资料图片未正确显示在右侧。 因此,第一个字段(组织名称)显示不正确 自从过去两个小时以来,
我有以下脚本: http://jsfiddle.net/rYFEY/12/ 效果很好,除了我需要移除右侧和右下角的 handle ,只留下底部 handle 用于调整大小。目前,如果我点击右 hand
我是一名优秀的程序员,十分优秀!