- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试使用 linear-gradient
做背景,但我希望步长“更大”。
例如,不是逐个像素地改变,而是每 N 个像素改变一次的方法。
是否可以仅使用 CSS 来实现?
我对如何实现这一点一无所知。所以我制作了这个 SVG 示例来模拟我想要实现的目标:
http://codepen.io/Goodwine/pen/fqgdB
要用 CSS 做到这一点,我需要手动插入每个颜色停止点,在这种情况下,我设置这个“颜色停止点”:
[{r: 0, g: 0, b: 0, a: 1, p: 0.00},
{r: 100, g: 100, b: 255, a: 1, p: 0.25},
{r: 255, g: 200, b: 100, a: 1, p: 0.5},
{r: 255, g: 200, b: 200, a: 1, p: 0.7},
{r: 100, g: 100, b: 100, a: 1, p: 0.9},
{r: 0, g: 0, b: 0, a: 1, p: 1}]
最佳答案
使用 CSS 可以获得非常相似的效果,但不完全相同
您可以具有精确的像素高度linear-gradient
,但是它们不能自行删除或添加更多并保持计划。 Javascript 解决方案是唯一可以完全满足您的需求的解决方案。 CSS 中的精确像素高度 linear-gradient
只会在容器缩小时显示顶行,如果容器大于最大值,则会有额外的空间
精确的像素高度版本是 this demo 中屏幕的前 50%
background-image: /* 22 sections used */
linear-gradient(#000000,#000000),
linear-gradient(#141433,#141433),
linear-gradient(#282866,#282866),
linear-gradient(#3C3C99,#3C3C99),
linear-gradient(#5050CC,#5050CC),
linear-gradient(#6464FF,#6464FF),
linear-gradient(#8378E0,#8378E0),
linear-gradient(#A28CC1,#A28CC1),
linear-gradient(#C1A0A2,#C1A0A2),
linear-gradient(#E0B483,#E0B483),
linear-gradient(#FFC864,#FFC864),
linear-gradient(#FFC878,#FFC878),
linear-gradient(#FFC88C,#FFC88C),
linear-gradient(#FFC8A0,#FFC8A0),
linear-gradient(#FFC8B4,#FFC8B4),
linear-gradient(#FFC8C8,#FFC8C8),
linear-gradient(#D8AFAF,#D8AFAF),
linear-gradient(#B19696,#B19696),
linear-gradient(#8A7D7D,#8A7D7D),
linear-gradient(#646464,#646464),
linear-gradient(#424242,#424242),
linear-gradient(#212121,#212121);
background-position:0px 0px, 0px 20px, 0px 40px, 0px 60px, 0px 80px, 0px 100px,
0px 120px, 0px 140px, 0px 160px, 0px 180px, 0px 200px, 0px 220px,
0px 240px, 0px 260px, 0px 280px, 0px 300px, 0px 320px, 0px 340px,
0px 360px, 0px 380px, 0px 400px, 0px 420px;
background-size:100% 20px;
更常见的背景是,您可以为每种颜色指定 % 高度。它没有您想要的像素高度,但它会继续显示所有颜色并在尺寸缩小/放大时填充容器。这也仅限于最初列出的部分数量,不会动态添加到/从中删除
这可以在the demo above的下半部分看到
background-image: /* 21 sections used */
linear-gradient(#000000,#000000),
linear-gradient(#141433,#141433),
linear-gradient(#282866,#282866),
linear-gradient(#3C3C99,#3C3C99),
linear-gradient(#5050CC,#5050CC),
linear-gradient(#6464FF,#6464FF),
linear-gradient(#8378E0,#8378E0),
linear-gradient(#A28CC1,#A28CC1),
linear-gradient(#C1A0A2,#C1A0A2),
linear-gradient(#E0B483,#E0B483),
linear-gradient(#FFC864,#FFC864),
linear-gradient(#FFC88C,#FFC88C),
linear-gradient(#FFC8B4,#FFC8B4),
linear-gradient(#FFC8C8,#FFC8C8),
linear-gradient(#D8AFAF,#D8AFAF),
linear-gradient(#B19696,#B19696),
linear-gradient(#8A7D7D,#8A7D7D),
linear-gradient(#646464,#646464),
linear-gradient(#424242,#424242),
linear-gradient(#212121,#212121),
linear-gradient(#000000,#000000);
background-position:0% 0%, 0% 5%, 0% 10%, 0% 15%, 0% 20%, 0% 25%, 0% 30%, 0% 35%,
0% 40%, 0% 45%, 0% 50%, 0% 55%, 0% 60%, 0% 65%, 0% 70%,
0% 75%, 0% 80%, 0% 85%, 0% 90%, 0% 95%, 0% 100%;
background-size:100% 5%;
您的 SVG 技术在最底部(开始时屏幕下方)进行比较
简而言之,CSS 无法获得与您的 JS/SVG 解决方案完全相同的结果,因为它无法计算窗口高度并据此设置元素数量
但是
CSS 确实提供了一些非常酷的技巧(至少对我而言)
这些 CSS 技术还让我们创建了 vastly more complex things只有一个元素和一些 linear-gradient
(:
旁注:grad()
有一些未使用的参数
希望我有所帮助!
关于 "big steps"的 CSS 线性渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052984/
我使用 jQuery 已经有一段时间了,但我不知道如何从一个渐变渐变到另一个渐变。我一直在用 http://www.colorzilla.com/gradient-editor/对于我的渐变。例如 b
为了使用 jni 帮助程序库运行测试,我将这样的代码添加到 build.gradle 中: def jniLibDir = "xxx" tasks.withType(Test) { syste
我正在从命令行运行 wsimport 以从 WSDL 生成 java 类,如下所示。 wsimport -J-Djavax.xml.accessExternalDTD=all -J-
我们有一个重复使用第3方 war 的项目(如果有人要求,则为shindig-server-2.0.2.war :)。这场 war 目前位于项目根目录中,当前的ant任务将其解压缩到temp文件夹中,进
我有一个边界框,其坐标由(x,y,w,h)给出,其中x和y是框的左上角坐标。我想在盒子外面应用模糊或渐变。如何使用上面的坐标创建蒙版,并使用类似于下图的PIL或cv2在蒙版之外应用此效果? 最佳答案
考虑情况http://codepen.io/anon/pen/JdGYBN 我需要在拖动元素时动态更改卡片“可拖动”的背景颜色。 但是卡片的背景应该根据线条的渐变颜色而变化。 background:
我现在有这种情况:JSFIDDLE 我想实现这种效果,但我希望文本可以在渐变后面选择,并且即使我将鼠标放在文本上也可以滚动文本。 是否有任何解决方法可以使用 javascript 来改变滚动时文本的不
这段代码是我从css graident generator得到的,渐变底部是透明的 background: -moz-linear-gradient(top, rgba(248,246,247,1)
我必须使用 CSS 完成以下图像: 这是一张包含主导航的图像。所以我为此写了一些 CSS(我知道不是正确的颜色代码): #menu-block { background: #730868; b
是否可以使用渐变作为渐变中的一种颜色? 为了我的特定目的,我有一个从左到右的初始渐变: linear-gradient(to right, red, darkgray); 但我希望深灰色部分实际上是从
我这辈子都想不通为什么 transition 属性在我的 CSS 中不起作用。这是代码: #header #menu-top-nav ul li a { -webkit-transition:
我一直在寻找像下图中那样的多组件日期选择器,但在 Github 或其他地方找不到任何东西。 所以我决定做一个。我在实现 CSS 时遇到问题,它在顶部和底部淡出。 我想过在容器中使用:before和:a
我正在寻找与下图等效的 css。我正在使用多个停止点,但很难获得硬停止点 solid 2px white 边框。如果我添加它,它看起来像是一个渐变而不是硬边。任何帮助都会很棒,谢谢! .stripes
我的广告部门给了我一些图像,将其放在网站上的选项卡等。但是我确信这会减慢页面的呈现速度。所以我想我会用 css 来做。然而,经过几次试验,我无法接近以下图像。对于这两张图片,我将不胜感激。 请删除这个
我试图在将鼠标悬停在 div (id="above") 上时更改 body 的背景图像/渐变,我按照他们在另一篇文章 (http://stackoverflow.com/questions/14623
我正在测试所有浏览器的渐变兼容性,我发现渐变在 FireFox 上有不同的效果。请允许我演示测试。 代码 body{
当我使用渐变时,当内容很少时,渐变会重复出现,我该如何防止这种情况发生? http://jsfiddle.net/mcqpP/1/ 我可以尝试使用 html { height: 100%; },但是当
我有一个导航栏,它的背景颜色略深。我想要一个从中心到左右两侧的渐变,以便导航栏最右边和最左边的位达到背景颜色。这可能吗? -->
我在 Firefox 中使用了这个 CSS 线性渐变,但在 Safari 和其他浏览器中似乎无法获得相同的结果。它是联系字段的纸状背景。我试过整个 body 和一个特定的元素,这种风格似乎只适用于 F
我有这行代码 背景:线性渐变(341deg, #8a8a8a 0%, #8a8a8a 31.9%, #000 32.1%, #000 100%); 如您所见,它一半是灰色一半是黑色。有没有办法让它的灰
我是一名优秀的程序员,十分优秀!