chu*_*tar 81 html css background
我想使用动态文本作为标签中某些元素的背景.因此,我可以使用图像(动态文本).我怎么用CSS或JavaScript做到这一点?
Cir*_*四事件 125
如何在SVG的文本的背景图像?
body {
background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><text x='0' y='15' fill='red' font-size='20'>I love SVG!</text></svg>");
}Run Code Online (Sandbox Code Playgroud)
<p>I hate SVG!</p><p>I hate SVG!</p><p>I hate SVG!</p><p>I hate SVG!</p>
<p>I hate SVG!</p><p>I hate SVG!</p><p>I hate SVG!</p><p>I hate SVG!</p>Run Code Online (Sandbox Code Playgroud)
CSS这样你就可以更好地理解的缩进版本(这并没有工作,你需要使用单排SVG):
body {
background-image:url("data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg' version='1.1'
height='50px' width='120px'>
<text x='0' y='15' fill='red' font-size='20'>I love SVG!</text>
</svg>");
}
Run Code Online (Sandbox Code Playgroud)
不确定它是多么便携(适用于Firefox 31和Chrome 36),它在技术上是一个图像......但源是内联和纯文本,它无限扩展.
如果你对base64进行编码,@ senectus发现它在IE上工作得更好:https://stackoverflow.com/a/25593531/895245
Pao*_*ino 77
您可以在相对定位元素内部放置一个绝对定位的元素:
<div id="container">
<div id="background">
Text to have as background
</div>
Normal contents
</div>
Run Code Online (Sandbox Code Playgroud)
然后是CSS:
#container {
position: relative;
}
#background {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: -1;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
这是一个例子.
Dis*_*oat 40
只有CSS使用:before或:after伪元素可能(但非常hackish):
.bgtext {
position: relative;
}
.bgtext:after {
content: "Background text";
position: absolute;
top: 0;
left: 0;
z-index: -1;
}Run Code Online (Sandbox Code Playgroud)
这似乎有效,但你可能需要稍微调整一下.另请注意,它不适用于IE6,因为它不支持:after.
sen*_*tus 19
Ciro关于包含文本的SVG数据URI背景的解决方案非常聪明.
但是,如果只是将普通SVG源添加到数据URI,它将无法在IE中运行.
为了解决这个问题并使其在IE9及更高版本中运行,请将SVG编码为base64.这是一个很棒的工具.
所以这:
background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><text x="5%" y="5%" font-size="30" fill="red">I love SVG!</text></svg>');
Run Code Online (Sandbox Code Playgroud)
变成这样:
background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0ZXh0IHg9IjUlIiB5PSI1JSIgZm9udC1zaXplPSIzMCIgZmlsbD0icmVkIj5JIGxvdmUgU1ZHITwvdGV4dD48L3N2Zz4=');
Run Code Online (Sandbox Code Playgroud)
经过测试,它适用于IE9-10-11,WebKit(Chrome 37,Opera 23)和Gecko(Firefox 31).
@Ciro
您可以使用反斜杠来破坏内嵌的svg代码 "\"
在Chrome 54和Firefox 50中使用以下代码进行了测试
body {
background: transparent;
background-attachment:fixed;
background-image: url(
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='170px' height='50px'> \
<rect x='0' y='0' width='170' height='50' style='stroke:white; fill:gray; stroke-opacity: 0.3; stroke-width: 3px; fill-opacity: 0.7; stroke-dasharray: 10 5; stroke-linecap=round; '/> \
<text x='85' y='30' style='fill:lightBlue; text-anchor: middle' font-size='16' transform='rotate(10,85,25)'>I love SVG!</text></svg>");
}
Run Code Online (Sandbox Code Playgroud)
我什至测试过
background-image: url("\
data:image/svg+xml;utf8, \
<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='170px' height='50px'> \
<rect x='0' y='0' width='170' height='50'\
style='stroke:white; stroke-width: 3px; stroke-opacity: 0.3; \
stroke-dasharray: 10 5; stroke-linecap=round; \
fill:gray; fill-opacity: 0.7; '/> \
<text x='85' y='30' \
style='fill:lightBlue; text-anchor: middle' font-size='16' \
transform='rotate(10,85,25)'> \
I love SVG! \
</text> \
</svg>\
");
Run Code Online (Sandbox Code Playgroud)
并且有效(至少在Chrome 54和Firefox 50 ==>保证在NWjs和Electron中使用)
我希望这可以帮助你
<!DOCTYPE html>
<html>
<head>
<style>
:root:after {
content: "Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark Watermark ";
position: fixed;
transform: rotate(300deg);
-webkit-transform: rotate(300deg);
color: rgb(187, 182, 182);
top:0;
z-index: -1;
}
</style>
</head>
<body>
<p>hey my name is JHM</p>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
(但是在极少数情况下可以使用它,因为HTML方法是PREFERRED WAY)。
.container{
position:relative;
}
.container::before{
content:"";
width: 100%; height: 100%; position: absolute; background: black; opacity: 0.3; z-index: 1; top: 0; left: 0;
background: black;
}
.container::after{
content: "Your Text"; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 3; overflow: hidden; font-size: 2em; color: red; text-align: center; text-shadow: 0px 0px 5px black; background: #0a0a0a8c; padding: 5px;
animation-name: blinking;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blinking {
0% {opacity: 0;}
100% {opacity: 1;}
}Run Code Online (Sandbox Code Playgroud)
<div class="container">here is main content, text , <br/> images and other page details</div>Run Code Online (Sandbox Code Playgroud)