问题标签 [dropshadow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - css页脚的问题
我的网页有问题。
我使用 min-height 属性将页脚放置在页面底部(如果内容不够长)和内容之后(如果内容比窗口长)。有很多教程描述了这种方法,我也是这样做的。
和其他一些代码。那么它工作正常。
当我创建两个额外的 div 以将阴影添加到容器 div 时,就会出现问题。我有:
我认为 html 和 body 高度保持 100%,left-shadow div 的 min-height 为 100%,right-shadow 和 container 的高度为 100%(我假设 100% 意味着 100% 的高度父元素)。
但是,它不起作用(在 Firefox 中,它在 Chrome 中起作用,我并不真正关心 IE),并且我尝试了各种组合以使其正确,但无济于事。任何帮助,将不胜感激。
编辑:(部分代码)
以及相关的CSS:
编辑2:所以我刚刚发现这个问题属于doctype。所以从现在开始,我会在正确的地方提问。但既然这已经结束了,我会要求人们无论如何都要做出回应,而不要进入应该在哪里发布问题。谢谢。
iphone - 使用 Cocoa 向 PNG 添加投影
我有一些具有透明背景的 PNG,我想以编程方式添加阴影。我见过为方形物体添加阴影的例子,但还没有见过复杂形状的例子。
所以我认为我必须做的两个步骤是:
- 隔离PNG形状
- 在 PNG 后面绘制一个模糊、褪色和偏移的形状。
我没有太多在 Cocoa 中绘图的经验,所以任何关于从哪里开始的见解都将不胜感激!
截图:(
来源:iworkinprogress.com)
winapi - Win32:如何使阴影尊重非矩形分层窗口?
我通过添加WS_EX_LAYERED扩展样式创建了一个分层窗口:
Windows 将使用黑色作为色度键颜色值。我将留下一个黑色的大边框以使问题变得明显:
构建窗口后,我告诉它使用黑色作为色度键颜色:
现在弹出的分层窗口显示为部分透明:
问题是最后一步。我想使用自 Windows XP 以来可用的CS_DROPSHADOW类样式来创建投影:
出现了投影,但是阴影包围了原来的矩形窗口,并且没有考虑到分层窗口提供的窗口透明度:
有谁知道我在某个地方错过了什么神奇的选项,可以让投影尊重非矩形分层窗口?
出现此问题的另一个示例是当您不包含 6px 填充/边距时。Windows® 主题绘制的提示窗口是非矩形的。这会在窗口透明的地方留下一个小的可见间隙,但不会出现投影:
正如您从 Internet Explorer 的提示中看到的那样,Microsoft 已设法使其工作:
仔细查看 Windowstooltips
类提示窗口。使用SpyXX - 我可以获得它的窗口矩形和类样式:
SpyXX 说:
所以一切都指向窗口本身是 104x20 像素,在窗口本身之外有阴影。(这与 一致CS_DROPSHADOW
。)
接下来我可以查看tooltips
窗口类的样式:
有趣的是,它不使用CS_SAVEBITS
( 0x800
); 这对于小型、短暂的窗口很有用。
它也不使用CS_DROPSHADOW
( 0x20000
)。所以现在我想知道它是如何在自己的窗口之外绘制的?
注意:透明分层窗口被记录为区域的首选技术。
编辑: Windows 2000 出现了分层 Windows。CS_DropShadow 是随 XP 添加的。
windows - 如何在窗外画画?
查看 Windows类提示窗口,我看到它在提示窗口的实际矩形之外tooltips
绘制了阴影。
使用SpyXX - 我可以获得工具提示的窗口矩形和类样式:

您会注意到您看到的投影实际上位于正在绘制的窗口之外。我怎样才能在窗外画一个阴影,同时在窗外?
注意:阴影不是使用标准CS_DROPSHADOW
类样式绘制的。我已经通过实验证实了这一点,并且还可以在SpyXX中查看窗口的类样式;它不使用CS_DROPSHADOW
:
那么我怎样才能在窗外画画呢?
注意:尝试在桌面上绘制 DC 已失效。来自 Greg Schechter 的重定向 GDI、DirectX 和 WPF 应用程序:
在屏幕上绘图和读取 - Baaaad!
最后,由于我们在重定向主题,一个特别危险的做法是写入屏幕,或者通过使用 GetDC(NULL) 并写入,或者尝试做 XOR 橡皮筋线等。有两个写入屏幕不好的主要原因:
它很昂贵……写入屏幕本身并不昂贵,但它几乎总是伴随着从屏幕读取,因为在写入屏幕时通常会执行诸如 XOR 之类的读取-修改-写入操作。从显存表面读取非常昂贵,需要与 DWM 同步,并且会停止整个 GPU 管道以及 DWM 应用程序管道。
这是不可预测的……如果您以某种方式设法到达实际的主节点并对其进行写入,则无法预测您写入主节点的内容将在屏幕上保留多长时间。由于UCE不知道,它可能会在下一帧刷新时被清除,也可能会持续很长时间,这取决于屏幕上还需要更新什么。(无论如何,我们确实不允许直接写入主节点,正因为如此......如果您尝试访问 DirectDraw 主节点,例如,DWM 将关闭,直到访问应用程序退出)
iphone - 带有圆角矩形和阴影的 UIView:阴影出现在矩形上方
我有一个 uiview 子类,我试图在其中绘制一个带有阴影的圆角矩形。虽然它绘制了两个元素,但我可以通过圆角矩形填充看到阴影。我是 CG 新手,所以我可能遗漏了一些简单的东西(尽管它似乎不是设置为 1 的填充的 alpha)。这是绘制矩形代码。
wpf - WPF DropShadow 消失
Wpf 阴影消失。以下是如何重现。
在 xaml 垫中键入以下内容。
您应该会看到一些带有边框的文本,并且在边框周围有一个阴影。
现在将Margin="0,0,0,0"更改为Margin="0,300,0,0",并调整您的 xaml pad 窗口大小,以便您可以看到边框。在我的机器上,阴影现在消失了。
还有人看到这个吗?请帮忙。
javascript - HTML/CSS:谷歌如何在他们的地图上创建这个阴影?
问题:Google 如何在 Google 地图上的垂直滚动条旁边创建阴影?
这是一个截图,准确地描述了我在说什么。
这似乎与浏览器(IE、Firefox、Chrome)和平台(Windows、Mac、Linux)无关。
winapi - 如何在 Win 7 中使用 DropDownShadow 创建一个像 Sticky Notes 这样的窗口?
如何在 Windows 7 中创建像 Sticky Note 这样没有边框但具有下拉阴影效果的 Win32 窗口?
我曾尝试创建一个没有边框的 Win32 窗口(删除 ~WS_BORDER),但下拉效果阴影消失了。
任何想法?
最好的问候,扎克@Shine
uiview - 为 OS 3.1 模拟 iPhone OS 3.2 中的 CALayer 阴影属性
CALayer 阴影属性(如 shadowOffset、shadowRadius、shadowColor)在 3.2 以下的 iPhone OS 版本中不可用,我想知道如何模仿该功能以用于 3.1 及以下版本。
我想用它来以一种干净的方式向 UIViews 添加阴影,以便以某种方式在图层级别绘制阴影,而不是通过在视图的-(void)drawRect:(CGRect)rect
方法中绘制它,这需要缩小实际视图框架以适应阴影。(我在 SO 上找到的其他 UIView 阴影相关问题中已经提出了这种缩小方法)。
我在想分层的方法会更干净。例如,我尝试创建子类化 CALayer,向其中添加了一个单独的阴影层作为子层,但随后将绘制在 UIView 的 drawRect: 方法中绘制的任何内容之上,该方法将主层作为支持层。
我也尝试过实现子类 CALayer 的 drawInContext: 类似这样的东西,
但是随后阴影仍然被裁剪到上下文的当前裁剪边界框,这似乎是图层自己的框架。
我也有一些想法,将主图层的绘图重定向到一个子图层,该子图层将放置在另一个已绘制阴影的子图层之上。然后我可能会摆脱剪辑,阴影会最远。但我无法真正理解我将如何做到这一点,而且这并不是一个干净的方法。
关于如何解决这个问题的任何想法?只是为了弄清楚我的 UIView 阴影相关问题与我在 SO 上找到的其他问题有何不同;我不想缩小 UIView 的实际绘图框以适应阴影。我希望它以某种方式位于背景中的单独图层上,而不会被剪裁。