Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
In the new google maps, when you click on on the map, it looks like a circle animates from the point you clicked that expands then disappears. When you click on a road, a dot appears, and appears to pulsate every few seconds. How can one accomplish this effect with or without google maps?
In other words, a user can click on a blank space on a page and have the same animated click effect where:
1) Clicking anywhere on HTML page or within a div causes a circle to slowly expand from where the user clicked to be about 5px, then fades out and disappears.
2) Clicking anywhere on HTML page or within a div causes a dot of maybe 3px to appear on the page and (a second circle?) that enlarges from the point of the dot with outline only, that expands for 5px... fades out and disappears... over and over again. (dot remains in place, just the animated circle that continues to "pulsate"
Looking for the best solution can be anywhere from CSS3, Javascript (with or without any libraries) or HTML5.
Interesting idea. After some fiddling, here are the approaches I made
1) Using javascript to append a new element at the clicked location and some CSS animations I came up with this demo
The corresponding CSS animation:
#keyframes grow {
0% {
width: 5px;
height: 5px;
margin-top: -2.5px;
margin-left: -2.5px;
}
50% {
margin-top:-7.5px;
margin-left: -7.5px;
width: 15px;
height: 15px;
opacity: 1;
}
100% {
margin-top:-12.5px;
margin-left: -12.5px;
width: 25px;
height: 25px;
opacity: 0;
}
}
2) I couldn't recreate what you mean for this one on Google maps, but from your description I came up with this demo
The corresponding CSS animation for that:
#keyframes pulse {
0% {
width: 5px;
height: 5px;
margin-top: -4.5px;
margin-left: -4.5px;
}
100% {
margin-top:-14.5px;
margin-left: -14.5px;
width: 25px;
height: 25px;
}
}
These approaches will work on any browsers that support CSS3 animation, the list can be found here. A fallback similar solution would be to use the same approach but use jQuery's .animate or something similar instead
If animations are not supported, the first would simply be a 5px by 5px circle, removed after a second. The second would be a black dot that lasts until the document is clicked again.
Side note: in its current state it won't work in IE I believe because it does not support document.getElementsByClassName
Related
I'm working on a to-do web app and I'm trying to achieve a visual effect wherein multiple todos appear to "share" a single background. So, imagine that a user adds a few todos. Their backgrounds appear as a part of a single gradient, with colors transitioning from top todo to bottom todo. This pen should hopefully demonstrate what I want to happen (click the first div):
Elements 'sharing' a background
HTML:
<div class="outer">
<div class="inner"></div>
<p>CLICK ME</p>
</div>
CSS:
.outer {
position: absolute;
left: 0;
top: 0;
height: 300px;
width: 200px;
background: white;
overflow: hidden;
clip: rect(auto, auto, auto, auto);
transition: transform 500ms ease-in-out;
font-size: 2rem;
}
.inner {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: linear-gradient(to right, red, orange, green, blue);
opacity: 0.5;
}
Now this already kind of works, I guess, but only if I manually animate position of the divs. Is there some way to utilize CSS transforms instead? The big problem there is that as soon as a transform is applied to outer div, the fixed child div stops being fixed, completely destroying the 'same background' illusion. you can see it in this pen:
Illusion fail
I read that it's part of the spec and that's just how it is, but thought maybe you CSS wizards here know other ways to achieve this effect, perhaps even without fixed child divs. Would really appreciate your help.
Here's an example using clip-path, but one issue is that it doesn't clip the same way as clip does, because it only clips the element itself, not child elements under it. Children elements will also get clipped, so they have to be moved to match the new clip position.
https://codepen.io/mix3d/pen/OJPjbGp
This is my first question on stack exchange so feel free to let me know if I haven't included enough information. I've looked for a solution to my particular issue and found nothing relevant so here goes...
I'm trying to achieve a sidebar navigation that slides in upon a menu button being pressed. The rest of the page should slide with it so it flows smoothly. I have used some simple javascript to toggle on/off a .active class for the navigation sidebar div and the content-wrap div. For reference, this is what I'm trying to do: http://antrikshy.com/. The transition property is applied to both the sidebar div and content-wrap element but is only affecting the navigation bar. After inspecting the webpage, I can see the css properties have been applied to the content-wrap element successfully, but they don't work. This has been tested in safari and firefox with no change in results.
See the Pen sidebar transition example on CodePen.
Here is the individual css on the content-wrap:
.content-wrap {
position: relative;
transition: all ease 2.5s;
padding: 10px;
overflow: auto;
}
You need to define both sides of the transition. If you are transitioning on left you need the left attribute of 0 so the transition has a starting point.
.content-wrap {
position: relative;
transition: all ease 2.5s;
padding: 10px;
overflow: auto;
left:0 /* THIS */
}
On my browser that fixes your pen -- https://codepen.io/anon/pen/EvKQxR.
I recently found a codepen with some JavaScript which creates a cool looking node effect: http://codepen.io/thetwistedtaste/pen/GgrWLp
as well as this 'glitch' effect on text using #keyframes animation:
http://codepen.io/anon/pen/YyjLJZ
I wanted to implement both on my practice website but I'm finding it hard to place the text on top of the canvas with the animation.
Here is what I have at the moment:
http://codepen.io/anon/pen/EVeVvE
What I want to achieve is the 'TEXT' to be in the centre with the glitch animation as well as the moving nodes in the background.
Is this possible?
I've tried adding a z-index to the wrap class but I don't think I'm using it correctly.
Here's what it looks like:
margin: 0 auto;
text-align: center;
position: absolute;
z-index: 10;
top: 0;
left: 0;
width: 100%;
height: 100%;
Do I need to add a z-index to every frame of the animation? Would anyone be able to help me out with this please?
Without using the z-index, the animation works fine but the text appears at the bottom of the page which is where I don't want it to be.
This works in the latest versions of Safari and Chrome, however the clip property is deprecated and may not work in certain browsers. clip-path should be used instead, and it will need vendor prefixes. See this CodePen for a demo.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have 3 rectangles that I've created with CSS. I want them to be clickable and link them to a file called "index.html". I've been searching over the web but could not find a way to do it. Is there also a way where hovering your mouse over the rectangle would just have the index.html file pop up but not open in a completely new window? Here is a snippet of what I have so far:
.rec
{
height: 100px;
width: 125px;
}
#d1
{
background : lightgreen;
border: 2px solid black;
display: inline-block;
left: 0%;
}
#r1
{
background : red;
border: 2px solid black;
display: inline-block;
left: 10%; position: relative;
}
#r3
{
background : white;
border: 2px solid black;
display: inline-block;
left: 20%; position: relative;
}
You should see JavaScript and jQuery tutorials. It's what, mostly, makes web pages interactive. Although in here, the best solution is clearly to use
<a href="index.html">
it would be good for you to learn them, and their incredible power. Check this fiddle here: http://jsfiddle.net/qjntjyyr/
As you can see, it's quite simple. In the next fiddle, I'm using an event for when the mouse goes over the squares.
http://jsfiddle.net/qjntjyyr/1/
Have fun with it, you can manipulate almost everything you want.
The clickable rectangles:
Index
Index
Index
As for the little box that appears when you hover them, you could use a title="" in the anchor tag, but that has the default styling the OS gives it. To customize one yourself you'd need JavaScript.
I found an interesting link to learn for your problem:css-trick
But the first answer is a good one to use.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
So i came accross the following template but due to the fact they have base64 encrypted their javascript / page elements for god only knows what reason it makes seeing the source code very difficult.
http://yootheme.com/demo/themes/joomla/2010/planet/index.php?option=com_content&view=article&id=44&Itemid=53&preset=default
But on that page the header bar with the class "header-bg" seems to have the background-position constantly changing most likely via the use of javascript and i like the design and effect of the colors so i am curious if someone can help me or fiddle to me a demo of how they are doing this.
I love the way the border effect is constantly rotating around in different variations of colors like that. (Not sure if anyone else finds that beautiful)
They use a background image, and they animate background-position using JS.
Here I use CSS animations instead:
#keyframes bg {
from {
background-position: 0 0;
}
to {
background-position: 1500px 0;
}
}
.header-bg {
border-radius: 15px; /* outerRadius */
padding: 3px; /* separation */
animation: bg 10s infinite linear;
background: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHCAgICAgICAgICD/2wBDAQcHBw0MDRgQEBgaFREVGiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD/wAARCAEsBdwDAREAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAgABAwX/xAAVEAEBAAAAAAAAAAAAAAAAAAAAAf/EABcBAQEBAQAAAAAAAAAAAAAAAAABAgf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEQMRAD8A811pyNAgQIECBsRkoyhxmoUZZOMslGUOMMlEQoxWSjKHGWTjCFGUKM1k4zWSjKHGUKMMlGUOM1koyycZQoxUOMslGWSjKHGUKM1k4whRlk4zWSjNQmRAgQIECBAgQIECAUFQYioGIrAYisBVBiKygxFVBiKyoqARVUGIMoqQZUVgMFVQYgxFYDEEKxFQqBAgQIECBAgQIECBAgbBlKNVEDRGqNUaqNBqolGiJRqhCKA1UbFRA2KjQaqNUQEqIRqiUaI1RoIECBAgQIECBAgQDWgWoo1poaqi0otRRVRrTTGlGtKNVRqqLairQ1oZWo0FVWVpRaUa00KqNaUa0o1Yo1poWlZVUGlGtKytKLSjVUa00NWKLSsrSjVUa00LSiqjWlQqBAgQIECBAgQICiMlGUKMsnGUKMslGGTjKFGUOM1kowhxmslGahRlk4yhRhk4yhRlkoyhxlk4zUKMMlGUOMslGUOM1koxUKMsnGUKMsnGUKM1k4xUaggQIECBAgQIECBgMQQrEGUEisoMRWAyoqQYDEVgJFYisBiKwEgwVIMRWAwVlZEAoqBiKkGCoVAgQIECBAgQIECBAgQjREo1UQEqKA1oaI2A1UUUaI2KNUaI2CJUbFEDVRqjVRsBojVEqNBKNEbFGggQIECBAgQIECBigqrG1Gqo1pRVRaUa00KqLSsrShVUa0otNMaUaqi0o1poaoNaaZWlFpRqqFaVlaUarQ1qKNaijWlFVGtKNaaZVUa0o1pRrSjVaGtKNaiiqsrSiqoVAgQIECBAgQIEIUZQojJxhCjLJxlCjNZOMoUZZKMIcZZKM1CjNQ4yyUYQ4yyUZrJxmoUYZOMpSjLJxlCjKFGGTjLJRmoUZQ4yyUYQ4yyUZQ4yyUZRqCBAgQIECBAgQIGUGIMFSDASKygxFYDEVICCRWIIViKygxFYCQYioBRUDEViDEGCoGIqQYKhUCBAgQIECBAgQIECBCNVEI1RoNVGqNiiEbBGqNiiEbFGqjQaqIRqiEJRKNVGg2KjQSo0Eo0RqjQQIECBAgQIECBAyqC0o1pRVRrTQ1VGtKytKLSiqjWlGtKNaaFpRqqxpRaUFaZWlGrFGtKNaUaqjWmhaUa0rK0oVYrK0oq0NaUa0o1pRVRrSsrSjVaFpRrSjWlGqrFaQIECBAgQIECBAoIUZZOM1CjLJxlCjNZOMIUZQozWTjNQoyycYQoyycZQozWTjDJRlCjNQ4yyUZZOMIUZQozWTjLJRlDjKFGGSjKHGWSjNQ4yyUZQmUaggQIECBAgQIECBgMQYKkGAkViDKKwGIqQFBCsQQrEVlBiKxBCsQYgwVUGIrEGVFYCoMRVUGDSBAgQIECBAgQIECBAgQjVRsVEDYDVRqjYqIGiNUaqIGqNio0GqiEao1UaCijVRoNio0FFRoNiogJRAgQIECBAgQIECAasGVpRrSi0o1WhrSjWlGqotKytKLTQKo1qKytKNVRaUa0otNDVVjSjWlGqoVpWNNC0o1VFpRrSjVaGtRRaisaUVUa0o1poVUa0oqo1pWNKNaaYKgQIECBAgQIECBsEKMslGKhxlkoyhxlkoyhxlkozUKMMlGUOMsnGUKM1koxUOMslGUOMMlEQ4xWSjKHGWSjNQowycRCjDJxlCjNZOMoUZZKMocYZJkQIECBAgQIECBAgEFUGCpBiCFFFVBiDBWVBiKqDEFUVgrBWVBiDKKkGVBgqorEGIMRWAgYisqKhUCBAgQIECBAgQIECBAoI1UbFRA2A1Uao1UQEqIGqiUaDVRoNVGqiBqo0GxRKjQJUQNVEo2CNUaCBAgQIECBAgQIEA1oGtRRqtMrSi0oVVY0o1pRqqNaUa00KqNaii0o1pWVWhrSjWlFVFpRrTQ1pRqxRaUa0rFUWmhaUa0o1VFpWVpQqtMrQLTQtKNVRrTQtAq0NaVCoECBAgQIECBAgbEZKMocZqHGWSjLJRmocYZKMoUZrJxlCjLJxhCjKFGWTjLJRlDjDJRlCjKOkZrJRlkoyhRipTjLJxlkoyhRhk4zUKMocZZKM1kozUJkQIECBAgQIECBAgFBUViCoMRWAxFYCqKxBlBiKqDEVlRUAiqoMQZRUgxFYDBVUGIMRWAxBCsRUKgQIECBAgQIECBAgQIRoiUaqIGiNijVGqjQaqJRoiUaoQigNVGxUQNio1RojYohCUSo0Eo0RsUaCBAgQIECBAgQIEoKgtKNaaGqotKLUUVUa00xpRrSjVUa0otNCqjWlFqKNaUaqi0rK00KqNaUK0rK1FGq0LUUa0otKNVRrSsrTQ1VGtKLUUWlZVUK0o1Y0LSsrSiqoVAgQIECBAgQIEBRGSjKFGGTjKFGWTjLJxlGxlDjDJRlDjNZKM1DjLJRlCjDJxlCjNZOMoUZZOMVCjLJRlDjLJxlCjFZKM1DjLJRlDjLJRlDjNZKMVGoIECBAgQIECBAgZQYgwVIMoJFZQYisBlRUgwGIrASKxFYDEVgJBgqQYisBgrKyIBRUDEVIMFQqBAgQIECBAgQIECBAhGiJRqogJUbFEo0RsEaooo0RsUaqNBsESo1RCNUao1UbAaqNBKjQSjRGxRoIECBAgQIECBAgYoLSi0rKqjWlGqoNNMrSiqi0o1pRqqNaaFpWVpRVRaUWmhrSjVijWlFpRqqNaaFoZVaGtKNaijWlFVGtKNaaZWlFVFpRrSjVaGtKNaijVVlaUVaQIECBAgQIECBAhCjKFGWTjKHGWSjNQozWTjCFGWSjNQ4yyUZqHGGSjKFGWTjKFGaycYqFGWTjKFGWTjKFGWSjCHGWSjNQ4yyUZQ4whRmsnGWSjKEyjUECBAgQIECBAgQMoMQYKkGAkVgMRWAxFSAoIViCFYisoMRWAkGIqAUVAxFYgyoMFVBiKkGCoVAgQIECBAgQIECBAgQjVRCNUaDVRqjYohGwRqjYohGxRsVGg1UQjVEISiUaqNBsVGgoqNBKNEao0ECBAgQIECBAgQMqg1pRrSi0o1WhrSjWlZVUWlGtKKqNaUa1GhrSjVUWlY0oK0NaVjUUaqjWlGqottCqjWlZWlCtKNVRajTK0oqo1pRrSjWlZVUWmgVRrSsrSjVVitIECBAgQIECBAgUEOMslGahxlkoyhRmsnGEKMslGahxhkoiHGGSjKHGahRisnGWSjKFGWTjKFGWTjCFGWSjNQ4yycZQowyUZQoyhxlk4yhRlk4wy1kaCBAgQIECBAgQIGAxBgqQYCRRQVFYgwViDEEKxBCsRWAxFYghWIMqDBVQYisQZUVgKgxFZUVCoECBAgQIECBAgQIECBCNVGxUQNgNVGqNiogJUQNVEDVGxUaDVRKjQaqNBRRqo0GxUaDYqIGxUShAgQIECBAgQIECBANagNWKytKLSjVaGtKNaUaqjWlZWlFpoFUa1FZWlGqo1poa0o1pRVRaUa0rKqhWootNMaUVUWlFpRqtDWlFqKxpRqqNaUa00NVRrSi0o1pRVWVppgqBAgQIECBAgQIGwQoyyUYqHGWTjLJRlCjLJxlCjFQoyycZZOMoUYQozWSjNZOMocZQowyUZQ4zWSjLJxlCjNQ4wyUZZKMocZQozWTjKFGGTjKFGWSZECBAgQIECBAgQIBBVBiKgYioBRWAkGIrKDEVUGIMqNIBFVQYgyipBlQYKqKxBiDEVgMQQrEVCoECBAgQIECBAgQIECBQZao2KiBsEao1Rqo0GqiUaIlGgSogaqNiogbFRoNVEo0CVEI1RKNEao0ECBAgQIECBAgQIBrQLUUa00NVWNKDUViqNaaGtKNVRrSiqjW1FVGtKyrGhrSjWlFVFtRVoa0o1Yo1pRrSiqsaaBpRrSsqqLajVUa00NVWNKNaUaqjWmhaUVUa0qFQIECBAgQIECBA2IyUZQ4yycZQoyyUYQ4yyUZQozWTjKFGaycYqFGUOMslGGTjKFGWSjKHGWTjNQowyURCjFZpxlDjLJRhCjLJxlCjKHGWSjNZKMVCQQIECBAgQIECBAwGIKisQZQSKygxFYDKipBgMRUDEViKgEViCQYKkGIrAYKyoJAUVAxBCsRUKgQIECBAgQIECBAgQIRoiUaqICVFAao1UaDVRKNESjVCEUBqstiiBsVGqNEbFGiNUSo0Eo0RsUaCBAgQIECBAgQIGKMVRaBrTQ1pRVRaUVUa00xpRrSjVUK0rGmhaUaqi1FGtKNVRrSsrTQqo1pQrSsrSjVaFqKNaUWlFVGtKNaaZVUa0otRRaUaqjWlGrGhaVlaUVVCoECBAgQIECBAhCiIUZQ4wyUZQ4yyUZZOMo2MocYZKMsnGahRmocZZKMIcZZKM1k4zUKMoUZZpxioUZZOMoUYZOIhRislGahxlkoyhxlkoyhxislGUaggQIECBAgQIECBlBiDBUgygkVlBiKwGIqQYDEViCFYisoMRWAkGCpAUVAxFYgkBFQMRUgwVCoECBAgQIECBAgQIECEaIlRqjQaqNiiUaI2CNUUUaI2KNVGg1UQjVEISiUaqNgNVGglRoJRojYo0ECBAgQIECBAgQMUFpRrSiqjWlZVaBpWVpRaUVUa0o1pRqtC0rK0oqotKLTQ1pRqxRrSi0o1VGtNC0o1pWVVGtRRrSiqjWlGtNMrSjVUa0o1pRVoWlGtKNVRrSsVpAgQIECBAgQIECghRlCjLJxlDjLJRmslGKhxlCjNZKM1DjLJxlCjDJRlCjLJxhDjLJRmoUZZOMocYZKIhRisnGUKMsnGUKMMlEQ4wyUZqHGWSjKEyjUECBAgQIECBAgQMBiDBUgwEisQZRWAxFSAoIViCFYisoMRWIIGIqAUVAxFYgyorAVBiKqgwVCoECBAgQIECBAgQIECEaqJUaDQaqNUbFEI0RqjVEI1RsVGg1UQjVEqECUaqNBsVGgoqNBsVEBKIECBAgQIECBAgQMqwGtKNaUWlGq0NaUa0o1VFpWVpRVoK0DWo0ytKNVRaUa0otNDVVjUUaqjWlGtKLTQqo1pRaUa0o1Whaisaii0oqotKNaVlVRaaBVGtKytKNVpiqgQIECBAgQIECBQQ4yyUZqHGGSjKFGWTjKHGWSjNQowyUZQ4yyUZQ4zWSjFQ4yyUZQoyycZQ4yyUYQoyycZqFGGTiIUYZKMocZZOMoUZZKMocYZJkQIECBAgQIECBAgYDEGCpBgJFFFVBiDBWVBiKqDEFUVgrAZUViCorEGVBgqorEGIMqKwFQYisqKhUCBAgQIECBAgQIECBAoI1UbFRA2A1Uao1UQEqIGqiUaDVRoNVEqNBqo0FFGqjQaqNBsVEo2CNUaCBAgQIECBAgQIEA1oGtRRqqytKKtBWlY0o1VGtKNaVjTQKo1qKxpRrSjVaGtKNaUVUWlGtNMqqFaii0rK0oqotKLSjVaGtKLSsaUarQ1oFpoa0o1VFpRrSiqjWmkKgQIECBAgQIECBsRkoyhxmoUZZOMslGahxhkoiFGKyUZQ4yycYQoyhRmsnGayUZQ4yhRhkoyhxmsnGWSjKFGKhxlkoyyUZQ4yhRmsnGEKMsnGayUZqEyIECBAgQIECBAgQCgqDEVAxFYDEVgKoMRWUGIqoMRWVFQCKqgxBlFSDKisBgqqDEGIrAYghWIqFQIECBAgQIECBAgQIEDYMpRqogaI1RqjVRoNVEo0RKNUIRQGqjYqIGxUaDVRqiAlRCNUSjRGqNBAgQIECBAgQIECAa0C1FGtNDVUWlFqKKqNaaY0o1pRqqNVRbUVaGtDK1GgqqNaVjSjWmhVRrSjWlGrFGtNC0rKqg2o1VZWlFpRqqNaaGrFFpWVpRrSjVjQtKKqNaVCoECBAgQIECBAgKIyUZQoyycZQoyycYZKMoUZQ4zWSjCHGayUZqFGWTjKFGGTjKFGWSjKHGWTjNQowyUZQ4zWaUZQ4zWSjCFGWTjKFGWTjKFGaycYqNQQIECBAgQIECBAygxBgqQZQSKygxFYDKipBgMRWAkViKwGIrASDBUgxFYDBWVkQCioGIqQYKhUCBAgQIECBAgQIECBCNESjVRASooDWhojYDVRRRojYo1RojYIlRsUQNVGqNVGwGiNUSo0Eo0RsUaCBAgQIECBAgQIGKCqi2rKqjWlGqotKNaaFVFpRrSjVUa0otNMaUaqi0otNDVBrTTK0otKNVQrSsrSjVaGtKNaijWlFVGtKNaaZVUa0o1pRrSjVaGtKNaiiqsrSiqoVAgQIECBAgQIEIUZQojJxhCjLJxlCjNZOMoUZZKMIcZZKM1DjCFEZKMMnGUKM1k4xUKMsnGUpRlk4yhRlCjDJxlkozUOMoUZZOMIUZrJRlk4yhRlGoIECBAgQIECBAgZQYgwVIMBIrKDEVgMRUgIJFYghWIrKDEVgJBiKgFFQMRWIMQYKgYipBgqFQIECBAgQIECBAgQIEI1UQjVGg1Uao2KIRsEao2KIRsUaqNBqohGqIQlEo1UaDYqNBKjQSjRGqNBAgQIECBAgQIEDKoLSjWlFVGtNDVUa0rK0otKLSjVUa0o1poa0o1VFpWNKCtDWlZVijWlGtKNVRrTQtKNaVlaUKsVlaUVaGtKNaUa0o1VGtKytKNVoWlGtKNaUaqsVpAgQIECBAgQIECghxlkozUKMsnGUKM1k4whRlCjNZOMVCiMnGGSjKHGUKM1k4wyUZQozUOMslGWTjCFGUKM1k4yyUZQ4yhRhkoyhxlk4yhRlkoyhMo1BAgQIECBAgQIEDAYgwVIMBIrEGUVgMRUgKCFYghWIrAYisQQrEGIMFVBiKxBlRWAqDEVVBg0gQIECBAgQIECBAgQIEI1UbFRA2A1Uao2KiBojVGqiBqjYqNBqohGqNVGgoo1UaDYqNBRUaDYqJQgQIECBAgQIECBAgGrBlaUa0otKNVoa0o1pRqqNaVlaUWmgVRrUVlaUaqi0o1pRaaGqrGlGtKNVQrSi00xpRqqLSjWlGq0NaUWorGlFVFpRrTQqo1pRVRrSsaUa00wVAgQIECBAgQIEDYIUZZKMVDjLJxlCjLJRlDjLJRmoUYZKMocZZOMIUZrJRmocZZKMocYZKIhxislGUOMslGahRhk4iFGGTjKFGaycZQoyyUZQ4wyTIgQIECBAgQIECBAIKoMFSDEEKKKqDEGCsqDEVUGIKorBWCsqDEGUVIMqDBVRWIMQYisBgJFZUVCoECBAgQIECBAgQIECBQRqo2KiBsBqo1RqogJUQNVEo0GqjQaqNVEDYqNBsUSo0CVEDVRKNgjVGggQIECBAgQIECBANaBaijVaZWlFpQqqxpRrSjVUa0o1poVUa2oqo1pWVWhrSjWlFVFpRrTQ1pRqxRaUa0rFUWmhaUa0o1VFpWVpQrTTKoLTQ1pRqqNaaFoFWhrSoVAgQIECBAgQIEDYjJRlDjNQ4yyUZZKM1DjDJRlCjNZOMoUZZOMIUZQoyycZZKMocYZKMoUZR0jNZKMslGUKMVKcZZOMslGUKMMnGahRlDjLJRmslGahMiBAgQIECBAgQIEAoKisQVBiKwGIrAVRWIMoMRVQYisqKgEVVBiDBUgxFYDBVUGIMRWAxBCsRUKgQIECBAgQIECBAgQIRoiUaqICEUUao1UaDVRKNESjVCEUBqo2KiBsVGqNEbFEISiVGglGiNijQQIECBAgQIECBAlBUFpRrTQ1VFpRaUVUa00xpRrSjVUa0otNCqjWlFqKNaUaqi0rK00KqNaUK0rK1FGq0LUUa0otKNVRrSsrTQ1VGtKNaii0rKqhWlGrGhaVlaUVVCoECBAgQIECBAgKIyUZQowycZQoyycZZOMo2MocYZKMocZrJRmocZZKMoUYZOMoUZrJxlCjLJxioUZZKMocZZOMoUYrJRmocZZKMocZZKMocYrJRlGoIECBAgQIECBAgZQYgwVIMoJFZQYisBlRUgwGIrASKxFZQYisBIMFSDEVgMRWVBAKKgYipBgqFQIECBAgQIECBAgQIEI0RKNVEBKjYolGiNgjVFFGiNijVRoNiohGqIRqjVGqjYDVRoJUaCUaI2KNBAgQIECBAgQIEDFBaUWlZVUa0o1VBpplaUVUWlGtKNVRrTQtKytKKqLSi00NaUasUa0otKNVRrTQtKyqo1pRrUUa0oqo1pRrTTK0oqotKNaUarQ1pRrUUaqjWlYrSBAgQIECBAgQIEIUZQoyycZQ4yyUZqFGaycYQoyyUZqHGWSjNQ4wyUZQoyycZQ4zWSjFQoyycZQoyycZQoyyUYQ4yyUZqHGWSjKHGEKM1k4yyUZQmUaggQIECBAgQIECBlBiDBUgwEisBiKwGIqQFBCsQQrEVlBiKwEgxFQCioGIrEGVBgqoMRUgwVCoECBAgQIECBAgQIECEaqIRqjQaqNUbFEI2CNUbFEI2KNio0GqiEaohCUSjVRoNio0FFRoNUQjVGggQIECBAgQIECBlUGtKNaUWlGq0NaUa0rKqi0o1pRVRrSjWo0NaUaqi0rK0oK0NaVjUUaqjWlGtKLTQqo1pWNKFaUaqi1GmVpRVRaUa0o1pWVVFpoFUa0rK0o1VYrSBAgQIECBAgQIFBDjLJRmocYZKIhRmsnGEKMslGahxhkoiHGGSjKHGahRisnGWSjKFGWTjKFGWTjCFGWSjNQ4yycZQowyUZQoyycZQ4yhRlk4wy1kaCBAgQIECBAgQIGAxBgqQYCRRQVFYgwViDEEKxBCsRWAxFYgqKxBlQYKqDEViDKisBUGIrKioVAgQIECBAgQIECBAgQKCNVGxUQNgNVGqNiogJUQNVEDVGxUaDVRKjQaqNBRRqo0GqjQbFRA2KiUIECBAgQIECBAgQIBrUBqxWVpRaUarQ1pRrSjVUa0rK0otNAqjWorK0o1VGtNDWlGtKKqLSjWlZVUK1FFpplaUVUWlFpRqtDWlFpWNKKqNaUa00NVRrSi0o1pRVRrTSFQIECBAgQIECBA2CFGGSjNQ4yycZZKMoUZZOMoUYrJRlDjLJxlCjCFGaycZrJRlDjKFGGSjKHGayUZZOMoUZqHGGSjLJRlDjKFGaycYQoyycZZKMoTIgQIECBAgQIECBAIKoMFSDEVAKKwEgxFZQYiqgxBlRpAIqqDEGUVIMqDBVRWIMQYisBiCFYioVAgQIECBAgQIECBAgQNgylGxUQNgjVGqNVGg1USjREo0CVEDVRsVEDYqNBqolGgSohGqJRojVGggQIECBAgQIECBANaBaijWmhqqxpQaiiqsrTQ1pRqqNaUVUa2oqo1pWVqNDVUa0oqo1tRVoa0o1Yo1qKNaUWmmKoNKNaVlVRbUaqjWmhqqxpRrSjVUa00LSiqjWlQqBAgQIECBAgQIGxGTjKFGWTjKFGWSjFQ4yyUZQozWTjKFGaycYqFGUOMslGGTjKFGWSjKHGWTjNQowyURCjFZpxlDjLJRhCjLJxlCjKHGWSjNZKMVCQQIECBAgQIECBAwGIKisQZQSKygxFYDKipBgMRWAkViKgEViCQYKkGIrAYKyoJAUVAxBCsRUKgQIECBAgQIECBAgQIRoiUaqICVFAao1UaDVRKNEaolCEUBqstiiBsVGqNEbFGiNUSo0Eo0RsUaCBAgQIECBAgQIGKCqsaUa0o1pRVRaUVUa00xpRrSjVUK0rGmhaUaqi1FGtKNVRrSsrTQqo1pQrSsrSjVaFqKNaUa0oqo1pRrTTKqjWlGtRRaUaqjWmhqxRaVlaUVVCoECBAgQIECBAhCiIUZQ4wyUZQ4yyUZZOMo2MocYZKMsnGahRmocZZKMIcZZKM1k4zUKMoUZZpxislGUOMoUYZOMoUZrJRlDjLJRlDjLJRlDjFZKMo1BAgQIECBAgQIEDKDEGCpBgJFZQYisBiKkGAxFYghWIrKDEVgJBgqQFFQMRWIJARUDEVIMFQqBAgQIECBAgQIECBAhGiJUao0GqjYolGiNgjVFFGiNijVRoNVEI1RCEolGqjQaqNBKjQSjRGxRoIECBAgQIECBAgYoLSjWlFVGtNMqqDSsrSi0oqo1pRrSjVaFpRrSsVRaUWmhrSjVijWlFpRqqNaaFpRrSsqqNaijWlFVGtKNaaZWlBVFpWVpRVoWlGtKNVRrSsVpAgQIECBAgQIECghRlDjLJRlDjLJRmslGKhxlCjNZKM1DjLJxlCjDJRlCjLJxhDjLJRmoUZZOMocYZKIhRisnGUKMsnGUKMMlGUOMslGahxlkoyhMo1BAgQIECBAgQIEDAYgwVIMBIrEGUVgMRUgKCFYghWIrKDEViCFYgwGIqBiKxBlRWAqDEVVBgqFQIECBAgQIECBAgQIEI1UaqIGg1Uao2KIRojVGqIRqjYqNBqohGqNVGgoo1UaDYqNBRUaDYqICUQIECBAgQIECBAgZVgNaUa0otKNVoa0o1pRqqLSsrSirQNA1qNMrSjVUWlGtKLTQ1VY1FGtKNVRrSi00KqNaUWlGtKNVoWorGootKKqNaUa0rKrQ1pQVRrSsrSjVaYqoECBAgQIECBAgUEOMslGahxhkoyhRlk4yhxlkozUKMMlGUOMslGUOM1koxUOMslGUKMsnGUOMslGEKMsnGahRhk4iFGGSjKHGaycZQoyyUZQ4wyTIgQIECBAgQIECBAwGIMFSDEEKKKqDEGCsqDEVUGIKorBWAyorEFRWIMqDBVRWIMQZUVgKgxFZUVCoECBAgQIECBAgQIECBQRqo2KiBsBqo1RqogJUQNVEo0GqjQaqJUaDVRoNiiVGg1UaDVRKNgjVGggQIECBAgQIECBANaBrUUaqsrTQtKFVWNKNVRrSjWlFpoVUa1FY0o1pRqtDWlGtKKqLSjWmmVVCtRRaVlaUVUWlFpRqtDWlFpWNKNVoa0C00LSjVUWlFpRVRrTSFQIECBAgQIECBA2IyUZQ4zUKMsnGWSjNQ4wyURCjFZKMocZZOMIUZQozWTjNZKMocZZKMIUZQ4zWTjLJRlCjFQ4yyUZZKMocZQozWTjCFGWTjNZKM1CZECBAgQIECBAgQIBQVBiKqDEVgMRWAqisQZQYiqgxFZUVAIqqDEGUVIMqKwGCqoMQYisBiCFYioVAgQIECBAgQIECBAgQNgylGqiBojVGqNVGg1USjREo1QhFAaqNiogbFRoNVGqICVEqNBKNEao0ECBAgQIECBAgQIBrQLUUa00NVRaUWooqo1ppjSjWlGqo1pRaUVaGtKytRQqqNaUWlZWmhVRrSjWlGrFGtNC1FZVUG1GqrK0otKNVRrTQtRRVWVpRrSjVjQtKKqNaVCoECBAgQIECBAgKIyUZQowycZQojJxhkoyhRlDjNZKMIcZrJRmoUZZOMoUYZOMoUZZKMocZZOMVCjLJRlDjNZpxlCjNZKMVCjLJxlDjLJRlCjNZOMVGoIECBAgQIECBAgZQYgwVIMoJFZQYisBlRUgwGIrASKxFYDEVgJBgqQYisBgrKyIBRUDEVIMFQqBAgQIECBAgQIECBAhGiJRqogJUUBrQ0RsBqooo0RsUao0RsESo1RCNUao1UbAaI1RKjQSjRGxRoIECBAgQIECBAgYoLSi0rKqjWlGqotKNaaFVFpRrSjVUa0otNMaUVUWlFpoaoNajTK0otKNVQrSsrSjVaGtKNaijWlFVGtKNaaZVUa0o1pRrSjVaGtKNaiiqsrSirSBAgQIECBAgQIEIUZQojJxhDjLJRlCjLJxlCjLJRhDjLJRmocYQoyyUZZOMoUZrJxioUZZOMoUZZOMoUZQowycZZKM1DjKFGWTjCFGayUZZOMoUZRqCBAgQIECBAgQIGUGIMFSDASKwGIrAYipAQSKxBCsRWUGIrASDEVAKKgYisQYgwVAxFSDBUKgQIECBAgQIECBAgQIRqohGqNBqo1RsUQjYI1RsUQjYo2KjQaqIRqiEJRKNVGg2KjQSo0Eo0RqjQQIECBAgQIECBAyqC0o1pRVRrTQ1VGtKytKLSi0oqo1pRrTQ1pRqqLSsaUFaGtKytRRqqNaUaqi00LSjWlZWlCrFZWlFY0NaUWlGtKNVRrSsrSjWmhVRrSjWlGqrFaQIECBAgQIECBAoIcZZKM1CjLJxlCjNZOMIUZZKM1DjFQojJxhkoyhxlCjNZOMMlGUKMocZZKMsnGEKMslGahxlk4yhRlCjDJRlDjLJxmoUZZKMoTCNBAgQIECBAgQIEDAYgwVIMBIrEGUVgMRWIMQQrEEKxFYDEViCFYgxBgqoMRWIMqKwFQYiqoMGkCBAgQIECBAgQIECBAhGqjYqIGwGqjVGxUQNVGg1UQNUbFRoNVEI1Rqo0FFGqjQbFRoKKjQbFRKECBAgQIECBAgQIEA1qDKqjWlFpRqtDWlGtKNVRrSsrSi00CqNaisrSjVUWlGtNC0oqrGlGtKNVQrUUWmmNKNVRaUa0o1WhrSi1FY0oqo1pRrTQqo1pRaUaqsaUa00wVAgQIECBAgQIEDYIUZZKMVDjLJxlCjLJRlDjLJRmoUYZKMocZZOMIUZrJRmocZZOMoUYZKIhxislGUOMslGahRhk4iFGGTjKFGaycZQowyURDjDJMiBAgQIECBAgQIEAgqgwVIMQQooqoMQYKyoMRVQYgqisFYKyoMQZRUgyoMFVFYgxBiKwGAkVlRUKgQIECBAgQIECBAgQIFBGqjYqIGwGqjVGqiAlRA1USjQaqNBqo2KiBsVGg2KJUaBKiBqolGiNUaCBAgQIECBAgQIEA1oFqKNVplaUWlCrFY0o1poaoNaUa00KqNbUVUa0rKrQ1pRrSiqi0o1poa0o1YotKNaViqLTQtKNaUaqi0rK0oVpplVRaUa0o1VGtNC0CrQ1pUKgQIECBAgQIECBsRkoyhxmsnGUKMslGahxhkoyhRmsnGUKMsnGKhRlCjLJxlk4yhRhkoyhxlDjNZKMslGUKMVmnGUOMslGUKMMnGahRlDjLJRmslGahMiBAgQIECBAgQIEAoKisQVBiKygxFYCqKxBlBiKqDEVlRUAipBiDBUgxFYDBWVBIMRWAxBCsRUKgQIECBAgQIECBAgQIRoiUaqICEUUao1UaDVRKNESjVCEUBqstiiBsVGqNEbFEISiVGglGiNijQQIECBAgQIECBAlBUFpRrTQ1pRVRaUVUa00xpRrSjVUa0otNC0o1VFqKNaUaqi0rK00KqNaUK0rK1FGq0LUUa0otKNVRrSsrTQ1VGtKLUUWlZVUK0o1Y0LSsrSiqoVAgQIECBAgQIEBRGSjKFGGTjKFGWTjLJxlGxlDjDJRlDjNZKM1DjLJRhDjLJRlDjNZKMoUZZOMVCjLJRlDjLJxlCjFZKM1DjLJRlDjLJRlDjFZKMo1BAgQIECBAgQIEDKDEGCpBlBIrKDEVgMqKkGAxFYghWIrKDEVgJBgqQYisBiKyoJARUDEVIMFQqBAgQIECBAgQIECBAhGiJRqogJUbFEo0RsEaooo0RsUaqNBsVEI1RCNUao1UbAaqNBKjQSjRGxRoIECBAgQIECBAgYoLSi0rFUa0o1VBpplaUVUWlGtKNVRrTQtKytKKqLSi00NaUasUa0otKNVRrTQtKNVWVpRrUUa0oqo1pRrTTK0o1VGtKNaUarQ1pRrUUaqjWlYrSBAgQIECBAgQIEBRlkoyycZQ4yyUZrJRiocZQoyyUZqHGWSjKHGGSjKFGWTjKHGayUYqFGWTjKFGWTjKFGWSjCHGWTjKFGWSjKHGEKM1k4yyUZQmUaggQIECBAgQIECBlBiDBUgwEisBiKwGIqQFBCsQQrEVlBiKxBAxFQCioGIrEGVBgqoMRUgwVCoECBAgQIECBAgQIECEaqIRqjQaqNUbFEI2CNUbFEI2KNio0GqiEaohCUSjVRoNio0FFRoNUQjVGggQIECBAgQIECBlUGtKNaUWlGq0NaUa0rKqi0o1pRVRrSjWo0NaUaqi0rK0oK0NaVjUUaqjWlGtKLTQqo1pWNKFaUaqi1GmVpRVRaUWlGtKyqotNAqjWlZWlGqrFaQIECBAgQIECBAgOMsFGahxhkoiFGGTjKFGWSjNQ4wyURDjDJRlDjNQoxWTjLJRlCjLJxlDjLJRhCjLJRmocZZOMoUYZKMoUZZOMocZQoyycYZJkQIECBAgQIECBAgYDEGCpBgJFFBUViDBWIMQQrEEKxFYDEViCorEGVBgqoMRWIMqKwFQYisqKhUCBAgQIECBAgQIECBAoI1UbFRA2A1Uao2KiAlRA1UQNUbFRoNVEqNBqo0FFGqjQaqNBsVEDYqJQgQIECBAgQIECBAgGtQGrFZWlFpRqtDWlFpRqqNaVlaUWmgVRrUVlaUaqjWmhrSjWlFVFpRrTTKoFajQtKytKKqLSi0o1WhrSi0rGlGqo1pRaaGqo1pRaUa0oqo1ppCoECBAgQIECBAgQHGWCjFQ4yycZZKMoUZZOMoUYqFGWTjKHGWSjCFGayUZrJxlDjKFGGSiIcYrJRlk4yhRmocYZKMoUZZOMoUZrJxlCjDJxlCjLJMiBAgQIECBAgQIEAgqgxFQMRUAorASDBWVBiKqDEGVGkAiqoMQZRUgyoMFVFYgxBiKwGIIViKhUCBAgQIECBAgQIECBAoI1UbFRA2A1Uao1UQEqJRoiUaBKiBqo2KiBsVGg1USjQJUQjVEo0RqjQQIECBAgQIECBAwGVoFqKNaaGqrGlBqKxVGtNDWlGqo1pRVRraiqjWlZWo0NVRrSiqjWlFpoa0o1Yo1pRrSiqsaaBpRrSsqqLajVUa00NVWNKNaUaqjWmhaUVUa0qFQIECBAgQIECBAgf/9k=") repeat scroll 0px 0px transparent;
}
.header-inner {
background: #fff;
border-radius: 12px; /* outerRadius - separation */
padding: 5px;
}
<div class="header-bg">
<div class="header-inner">Foo bar</div>
</div>
Also note that a gradient could be used instead of that image.