我有一个元素绝对位于另一个元素之上。问题是背景元素有一点 JS 可以根据鼠标的移动在 Y 轴上旋转。不幸的是,我在 Safari 中发现了一个在 Firefox 或 Chrome 中没有出现的问题。
背景元素穿过前景元素,我想知道是否有什么可以防止这种情况,或者让它像 Firefox 一样运行。
编辑:更新了示例以包含背景图像(渐变),这与我在网站中看到的更加准确。这个错误确实出现在 Windows 和 Mac 上(与之前的示例不同,无背景图像,仅在 Windows 上)
我正在做一个项目,我想要一个网格和一个带有垂直列表项的右侧部分。所以我想将每个列表项旋转 90 度。
像这样:
然而,当我尝试实现这种样式时,每个列表项往往会重叠,保留其以前的高度、宽度和位置。我已经在这个JSFiddle 中隔离了这个问题。
HTML
<body>
<div class="grid">
<h1>Some other content</h1>
</div>
<ul class="section-list">
<li class="section-tab"><a href="#">Breakfast</a></li>
<li class="section-tab"><a href="#">Lunch</a></li>
<li class="section-tab"><a href="#">Dinner</a></li>
<li class="section-tab"><a href="#">Blah</a></li>
</ul>
</body>
Run Code Online (Sandbox Code Playgroud)
CSS
body {
.grid {
display: inline-block;
float: left;
padding: 10px;
}
.section-list {
float: left;
max-width: 68px;
background: #fff;
.section-tab {
list-style: none;
display: inline-block;
transform: rotate(90deg);
white-space: nowrap;
a {
display: block;
padding: 16px 20px;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我如何正确构建这些项目?
我已经阅读了关于它们的文档,但我仍然不清楚实际的区别是什么。ItemCoordinateCache 的文档说明:
为项目的逻辑(本地)坐标系启用缓存。
而对于 QGraphicsItem::DeviceCoordinateCache:
缓存在设备坐标的绘制设备级别启用。此模式适用于可以移动但不能旋转、缩放或剪切的项目。
这并没有为我澄清事情。好的,所以 DeviceCoordinateCache 不能用于旋转、缩放或剪切,它使用“设备坐标”。
但这究竟是什么意思?有一个离屏缓冲区,我假设对于本地坐标,缓冲区填充了项目的缓存图像,然后像 QGraphicsPixmapItem 一样起作用,并且对它应用了诸如不透明度和变换矩阵之类的任何效果。我认为问题在于这会光栅化项目的图像,因此文档警告说它不会是像素完美的。
但是它如何与 DeviceCoordinateCache 一起工作?项目是先旋转、剪切和缩放,然后在屏幕外像素图上绘制,还是在像素图上呈现相同但不应用任何转换?
编辑:我还尝试将 DeviceCoordinateCache 设置为旋转和缩放的项目,即使我调整它的大小,它也能完美显示,所以我不明白为什么文档说它不应该与缩放、旋转或剪切的项目一起使用。
我有一个小 D3 脚本:
<script>
d3.csv("../data/school_attendance.csv", function(data) {
// Use d3.pie() to create and configure the data that we need in a format that we can enter into.
let arc_data = d3.pie().value(d => d['YTD Enrollment(Avg)']).padAngle(d => 0.0115)(data);
// Create the arc factory function that will render each data segment.
let arc = d3.arc().innerRadius(75).outerRadius(160);
// Run through each element of arc_data, creating and appening the arc for each one.
d3.select("svg")
.append("g")
.attr("id", "transform")
.attr("transform", "translate(400, 200)")
.selectAll('path')
.data(arc_data)
.enter()
.append('path')
.attr('d', arc) …Run Code Online (Sandbox Code Playgroud) 我有一个带有两个矩形的简单 SVG。我希望“内部”矩形正好位于 SVG 的中间。通过设置x和y属性以50%左上角为中心。相反,我想将矩形的中间居中。我试过设置transform-origin为,center但它不起作用。
<svg width="100" height="100">
<rect width="100%" height="100%" fill="gold" />
<rect width="30" height="30" x="50%" y="50%" fill="green" />
</svg> Run Code Online (Sandbox Code Playgroud)
如何在不手动指定 x 和 y 属性的情况下实现此类功能?
我正在使用TransformedTargetRegressor将我的目标转换为日志空间。它是这样做的
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.compose import TransformedTargetRegressor
clf = TransformedTargetRegressor(regressor=GradientBoostingRegressor(**params),
func=np.log1p, inverse_func=np.expm1)
Run Code Online (Sandbox Code Playgroud)
但是当我后来打电话时
feature_importance = clf.feature_importances_
Run Code Online (Sandbox Code Playgroud)
我得到
AttributeError: 'TransformedTargetRegressor' 对象没有属性 'feature_importances_'
我会认为原始类的所有属性都会被继承。如何解决这个问题?
有关更多上下文,这里是一个官方示例。用我的替换初始化行会导致崩溃。
我有一个在 Android Studio 上次更新中成功同步的项目。我将我的 android studio 更新到版本 3.3.2 大约需要 3 天时间。之后,我可以成功创建一个新项目,但无法同步我最近的任何项目,我不知道为什么。
错误是
(错误:找不到transform-api.jar(com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api)。在以下位置搜索:https : //dl.google .com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar )。
我有一个看起来像这样的哈希:
hash = {
'key1' => ['value'],
'key2' => {
'sub1' => ['string'],
'sub2' => ['string'],
},
'shippingInfo' => {
'shippingType' => ['Calculated'],
'shipToLocations' => ['Worldwide'],
'expeditedShipping' => ['false'],
'oneDayShippingAvailable' => ['false'],
'handlingTime' => ['3'],
}
}
Run Code Online (Sandbox Code Playgroud)
我需要转换每个值,它是数组中的单个字符串,以便它最终像这样:
hash = {
'key1' => 'value' ,
'key2' => {
'sub1' => 'string' ,
'sub2' => 'string' ,
},
'shippingInfo' => {
'shippingType' => 'Calculated' ,
'shipToLocations' => 'Worldwide' ,
'expeditedShipping' => 'false' ,
'oneDayShippingAvailable' => 'false' ,
'handlingTime' => '3' , …Run Code Online (Sandbox Code Playgroud) 我正在使用 OpenCV+Python+Numpy 并且我在图像中有三个点,我知道这些点的确切位置。
(P1, P2);
N1
Run Code Online (Sandbox Code Playgroud)
我要将图像转换为另一个视图(例如,我将透视图转换为侧视图)。如果我这样做,我将无法获得图像平面中这三个点的确切位置。我应该以一种可以获得这些点的新坐标的方式编写代码。
pts1=np.float32([[867,652],[1020,580],[1206,666],[1057,757]])
pts2=np.float32([[700,732],[869,754],[906,916],[712,906]])
matrix=cv2.getPerspectiveTransform(pts1,pts2)
result=cv2.warpPerspective(Image1,matrix,(1920,1080))
cv2.imshow('Image',Image1) cv2.imshow('Tran',result)
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何确定这 3 个点的新位置?
我正在尝试对 svg rect 元素进行非常简单的旋转。我希望这个元素相对于它的中心旋转,我正在尝试使用 transform-origin 属性来实现这一点(参见代码片段)。尽管尝试使用“center”或“50%”从中心旋转,但它从不想从其真正的中心旋转。
谁能解释为什么这不起作用?我看过类似的帖子,关于 transform-origin 是一个 css 属性,而不是一个 svg 属性,但我相信这现在已经过时了,并且 transform-origin 应该可以工作。
此方法适用于 div 元素,但不适用于 svg 元素。
svg {
border: solid;
}
svg > rect {
animation: test 3s infinite;
}
@keyframes test {
100% {
transform: rotate(360deg);
transform-origin: center center;
}
}Run Code Online (Sandbox Code Playgroud)
<svg width="200" height="110" viewBox="-200 -400 1000 1000">
<rect width="600" height="300" style="fill:rgb(0,0,255);stroke-width:3;stroke:rgb(0,0,0)" />
</svg>Run Code Online (Sandbox Code Playgroud)