Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 带有微小图片的背景图像产生梯度_Html_Css - Fatal编程技术网

Html 带有微小图片的背景图像产生梯度

Html 带有微小图片的背景图像产生梯度,html,css,Html,Css,我正在使用背景图像属性和一张1px*2px的图像。这个想法是在左边有黑色,在右边有白色(每个1px),因为我有一张图片,左边是黑色,右边是白色 我这样做的结果是在黑白之间有一个梯度,但我不想这样,因为我们看到了梯度(梯度大于图片宽度) 以下是要快速执行的内联代码: <body> <div class="header-wrapper" style= 'background-image: url("../images/background.png"); backgr

我正在使用背景图像属性和一张1px*2px的图像。这个想法是在左边有黑色,在右边有白色(每个1px),因为我有一张图片,左边是黑色,右边是白色

我这样做的结果是在黑白之间有一个梯度,但我不想这样,因为我们看到了梯度(梯度大于图片宽度)

以下是要快速执行的内联代码:

<body>
    <div class="header-wrapper" style=
    'background-image: url("../images/background.png"); background-repeat: no-repeat; background-size: 100%; padding-bottom: 0px;'>
    <div style="text-align:center;">
            <div style='display:inline;'><img src="~/images/ban.png"></div>
        </div>
    </div>
</body>

jsfiddle:

我不想使用css渐变来实现浏览器兼容性,即使客户只要求在IE9之前保持兼容性

以下是我得到的结果:

这是我想要的

我不知道你想做什么,但是如果你想要一张图片,那就把它放进去

background-size: 100% 100% 
这将使图像更大,更分散

--编辑---

我看到你有一个100%,试着放两个100%

--编辑---

X-UA-Compatible放入头部标签

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=8; IE=9">


似乎正在100%修复背景问题。

为什么不使用渐变

background-image: linear-gradient(to right, #000 50%, #fff 50%);

演示:

您不需要使用背景图像,您可以使用CSS渐变来实现:

。黑白{
高度:300px;
宽度:300px;
边框:1px纯红;
背景:#000000;/*旧浏览器*/
背景:url(数据:image/svg+xml;base64,PD94BWGDMVYC2LVBJ0IMS4WIIA/PGO8C3ZNIHHTBG5ZPSJODHRWOI8VD3D3LNCZYLM9YZYD8YMDAWL3N2ZYIGD2LKDGGG9IJEWMCUIIGDMLLD0JVED0IMCAWIDEGMCHC2VYDMV3BC3BLY3R3RYXYBRP00IBM9UZSI+CIAGPGG8BMVHCKDYWYWYW5LKYKYW5LKYZZY2TCZ2TZ2VUZ2VUZ2VUZJJJJJJJJJJJJJJJ0IDV9IJ0IMV9V9IZZZZZZZZY2V9C)2.vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvVBGLUZWFYR3JHZGLBNQ+CIAGPHJLY3QGED0IMCIGET0IMCIGD2LKDGG9IJEIGHLAWDODD0IMSIGZMLSBD0IDXJSKCNNCMFKLXVJZ2CTZ2VUZXJHDGVKKSIGLZ4KPC9ZDMC+;/*IE9 SVG需要将“过滤器”条件重写为“无”*/
背景:-莫兹线性梯度(左,#0000000%,#00000050%,#ffffff 50%,#ffffff 100%);/*FF3.6+*/
背景:-webkit渐变(线性、左上、右上、颜色停止(0%、000000)、颜色停止(50%、000000)、颜色停止(50%、ffffff)、颜色停止(100%、ffffff));/*铬、Safari4+*/
背景:-webkit线性梯度(左,#0000000%,#00000050%,#ffffff 50%,#ffffff 100%);/*Chrome10+,Safari5.1+*/
背景:-o-线性梯度(左,#0000000%,#00000050%,#ffffff 50%,#ffffff 100%);/*Opera 11.10+*/
背景:-ms线性梯度(左,#0000000%,#00000050%,#ffffff 50%,#ffffff 100%);/*IE10+*/
背景:线性梯度(向右,#0000000%,#00000050%,#ffffff 50%,#ffffff 100%);/*W3C*/
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000',endColorstr='#ffffffff',GradientType=1);/*IE6-8*/
}

您不能再使用几个断点吗:

background: linear-gradient(to right,  #000000 0%,#000000 90%,#ffffff 90%,#ffffff 90%,#ffffff 100%);

我最终使用了一张比我制作的第一张更大的图片(1*2到4*8px),它解决了很多问题-渐变仍然在这里,但最小化了(宽度更小)

或者你可以使用一个伪类:

。标题包装器{
文本对齐:居中;
背景色:白色;
位置:相对位置;
}
.header包装器:之前{
内容:'';
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:50%;
背景色:黑色;
z指数:50;
}
.标题包装器img{
显示:内联块;
z指数:100;
位置:相对位置;
}

你的问题是什么?你能把你的图像上传到类似的东西上,然后再重新创建吗?你能创建一个演示吗?很难理解为什么你会得到梯度,除非你的图像本身有梯度。如果你不想使用梯度,试试gifpng@JamieBarker是的,对不起,如果我的问题不是必须的那么清楚,但是是的,我有梯度我不想!看我编辑的问题,请先试试我的代码。这正是你想做的,因为黑色的强度达到50%,然后以白色开始。在这种情况下没有真正的梯度。梯度不符合IE9。我没有说过,但它必须符合,但是的thanks@clement如果你点击链接在我答案的底部,它会带你到一个生成渐变的地方。右下角有一个“IE9支持”复选框。我真的更喜欢使用图片以实现兼容性,即使需要>IE9,您的编辑也不会产生任何影响。
背景大小:100%
背景大小:100%100%
相同。如果高度和宽度不同,您只需输入两个值。您可以在head标记中引入X-UA-Compatible以使浏览器兼容错误