Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Progress bar Stripes

Tags:

html

css

progress

I am trying to create a progress bar with stripes on it just like this: http://css-tricks.com/examples/ProgressBars/

See screenshot:

enter image description here

However I can't pull up together my codes to make it animate like that.

<!-- begin snippet: js hide: false -->

<!-- language: lang-css -->

.container{
  width: 400px;
  margin: 0 auto;

}

.bar{
  width: 100%;
  background: #141414;
  padding: 17px;
  -webkit-border-top-right-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-topright: 5px;
-moz-border-radius-bottomright: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}

.bar-fill{
  height: 15px;
  display: block;
  background: #45c9a5;
  width: 0%;
  border-radius: 8px;

  -webkit-transition: width 0.8s ease;
  transition: width 0.8s ease;
  -webkit-animation: mymove 5s infinite; 
  animation: mymove 5s infinite;
}


.bar-unfill{
  height: 15px;
  display: block;
  background: #fff;
  width: 100%;
  border-radius: 8px;
}

/* Chrome, Safari, Opera */ 
@-webkit-keyframes mymove {
    from {width: 0%;}
    to {width: 100%;}
} 

/* Standard syntax */ 
@keyframes mymove {
   from {width: 0%;}
    to {width: 100%;}
}



.title{
 background: #545965;
 color: #fff;
 padding: 15px;
 float: left;
 position: relative;
 right: 60px;
-webkit-border-top-left-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-bottomleft: 5px;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}

Here's the HTML:

 <div class="container">
<div class="plain-title">Plain</div>
  <div class="bar">
    <span class="bar-unfill">
        <span class="bar-fill"></span>
    </span>    
  </div>
</div>

It must be only PURE CSS

like image 351
Kimberly Wright Avatar asked Sep 17 '26 06:09

Kimberly Wright


2 Answers

Getting the code from your example:

.meter {
height: 20px;  /* Can be anything */
position: relative;
margin: 60px 0 20px 0; /* Just for demo spacing */
background: #555;
-moz-border-radius: 25px;
-webkit-border-radius: 25px;
border-radius: 25px;
padding: 10px;
-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
-moz-box-shadow   : inset 0 -1px 1px rgba(255,255,255,0.3);
box-shadow        : inset 0 -1px 1px rgba(255,255,255,0.3);
}
.meter > span {
display: block;
height: 100%;
   -webkit-border-top-right-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
	   -moz-border-radius-topright: 8px;
	-moz-border-radius-bottomright: 8px;
		   border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
	-webkit-border-top-left-radius: 20px;
 -webkit-border-bottom-left-radius: 20px;
		-moz-border-radius-topleft: 20px;
	 -moz-border-radius-bottomleft: 20px;
			border-top-left-radius: 20px;
		 border-bottom-left-radius: 20px;
background-color: rgb(43,194,83);
background-image: -webkit-gradient(
  linear,
  left bottom,
  left top,
  color-stop(0, rgb(43,194,83)),
  color-stop(1, rgb(84,240,84))
 );
background-image: -moz-linear-gradient(
  center bottom,
  rgb(43,194,83) 37%,
  rgb(84,240,84) 69%
 );
-webkit-box-shadow:
  inset 0 2px 9px  rgba(255,255,255,0.3),
  inset 0 -2px 6px rgba(0,0,0,0.4);
-moz-box-shadow:
  inset 0 2px 9px  rgba(255,255,255,0.3),
  inset 0 -2px 6px rgba(0,0,0,0.4);
box-shadow:
  inset 0 2px 9px  rgba(255,255,255,0.3),
  inset 0 -2px 6px rgba(0,0,0,0.4);
position: relative;
overflow: hidden;
}
.meter > span:after, .animate > span > span {
content: "";
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
background-image:
   -webkit-gradient(linear, 0 0, 100% 100%,
	  color-stop(.25, rgba(255, 255, 255, .2)),
	  color-stop(.25, transparent), color-stop(.5, transparent),
	  color-stop(.5, rgba(255, 255, 255, .2)),
	  color-stop(.75, rgba(255, 255, 255, .2)),
	  color-stop(.75, transparent), to(transparent)
   );
background-image:
	-moz-linear-gradient(
	  -45deg,
	  rgba(255, 255, 255, .2) 25%,
	  transparent 25%,
	  transparent 50%,
	  rgba(255, 255, 255, .2) 50%,
	  rgba(255, 255, 255, .2) 75%,
	  transparent 75%,
	  transparent
   );
z-index: 1;
-webkit-background-size: 50px 50px;
-moz-background-size: 50px 50px;
background-size: 50px 50px;
-webkit-animation: move 2s linear infinite;
-moz-animation: move 2s linear infinite;
   -webkit-border-top-right-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
	   -moz-border-radius-topright: 8px;
	-moz-border-radius-bottomright: 8px;
		   border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
	-webkit-border-top-left-radius: 20px;
 -webkit-border-bottom-left-radius: 20px;
		-moz-border-radius-topleft: 20px;
	 -moz-border-radius-bottomleft: 20px;
			border-top-left-radius: 20px;
		 border-bottom-left-radius: 20px;
overflow: hidden;
}

.animate > span:after {
display: none;
}

@-webkit-keyframes move {
0% {
   background-position: 0 0;
}
100% {
   background-position: 50px 50px;
}
}

@-moz-keyframes move {
0% {
   background-position: 0 0;
}
100% {
   background-position: 50px 50px;
}
}


.orange > span {
background-color: #f1a165;
background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
background-image: -webkit-linear-gradient(#f1a165, #f36d0a);
}

.red > span {
background-color: #f0a3a3;
background-image: -moz-linear-gradient(top, #f0a3a3, #f42323);
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f0a3a3),color-stop(1, #f42323));
background-image: -webkit-linear-gradient(#f0a3a3, #f42323);
}

.nostripes > span > span, .nostripes > span:after {
-webkit-animation: none;
-moz-animation: none;
background-image: none;
}
<div class="meter">
	<span style="width: 25%"></span>
</div>
like image 133
Thomas Ayoub Avatar answered Sep 19 '26 20:09

Thomas Ayoub


Here you can find what you are looking for.

.meter {
			height: 20px;  /* Can be anything */
			position: relative;
			margin: 60px 0 20px 0; /* Just for demo spacing */
			background: #555;
			-moz-border-radius: 25px;
			-webkit-border-radius: 25px;
			border-radius: 25px;
			padding: 10px;
			-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
			-moz-box-shadow   : inset 0 -1px 1px rgba(255,255,255,0.3);
			box-shadow        : inset 0 -1px 1px rgba(255,255,255,0.3);
		}
		.meter > span {
			display: block;
			height: 100%;
			   -webkit-border-top-right-radius: 8px;
			-webkit-border-bottom-right-radius: 8px;
			       -moz-border-radius-topright: 8px;
			    -moz-border-radius-bottomright: 8px;
			           border-top-right-radius: 8px;
			        border-bottom-right-radius: 8px;
			    -webkit-border-top-left-radius: 20px;
			 -webkit-border-bottom-left-radius: 20px;
			        -moz-border-radius-topleft: 20px;
			     -moz-border-radius-bottomleft: 20px;
			            border-top-left-radius: 20px;
			         border-bottom-left-radius: 20px;
			background-color: rgb(43,194,83);
			background-image: -webkit-gradient(
			  linear,
			  left bottom,
			  left top,
			  color-stop(0, rgb(43,194,83)),
			  color-stop(1, rgb(84,240,84))
			 );
			background-image: -moz-linear-gradient(
			  center bottom,
			  rgb(43,194,83) 37%,
			  rgb(84,240,84) 69%
			 );
			-webkit-box-shadow:
			  inset 0 2px 9px  rgba(255,255,255,0.3),
			  inset 0 -2px 6px rgba(0,0,0,0.4);
			-moz-box-shadow:
			  inset 0 2px 9px  rgba(255,255,255,0.3),
			  inset 0 -2px 6px rgba(0,0,0,0.4);
			box-shadow:
			  inset 0 2px 9px  rgba(255,255,255,0.3),
			  inset 0 -2px 6px rgba(0,0,0,0.4);
			position: relative;
			overflow: hidden;
		}
		.meter > span:after, .animate > span > span {
			content: "";
			position: absolute;
			top: 0; left: 0; bottom: 0; right: 0;
			background-image:
			   -webkit-gradient(linear, 0 0, 100% 100%,
			      color-stop(.25, rgba(255, 255, 255, .2)),
			      color-stop(.25, transparent), color-stop(.5, transparent),
			      color-stop(.5, rgba(255, 255, 255, .2)),
			      color-stop(.75, rgba(255, 255, 255, .2)),
			      color-stop(.75, transparent), to(transparent)
			   );
			background-image:
				-moz-linear-gradient(
				  -45deg,
			      rgba(255, 255, 255, .2) 25%,
			      transparent 25%,
			      transparent 50%,
			      rgba(255, 255, 255, .2) 50%,
			      rgba(255, 255, 255, .2) 75%,
			      transparent 75%,
			      transparent
			   );
			z-index: 1;
			-webkit-background-size: 50px 50px;
			-moz-background-size: 50px 50px;
			background-size: 50px 50px;
			-webkit-animation: move 2s linear infinite;
			-moz-animation: move 2s linear infinite;
			   -webkit-border-top-right-radius: 8px;
			-webkit-border-bottom-right-radius: 8px;
			       -moz-border-radius-topright: 8px;
			    -moz-border-radius-bottomright: 8px;
			           border-top-right-radius: 8px;
			        border-bottom-right-radius: 8px;
			    -webkit-border-top-left-radius: 20px;
			 -webkit-border-bottom-left-radius: 20px;
			        -moz-border-radius-topleft: 20px;
			     -moz-border-radius-bottomleft: 20px;
			            border-top-left-radius: 20px;
			         border-bottom-left-radius: 20px;
			overflow: hidden;
		}

		.animate > span:after {
			display: none;
		}

		@-webkit-keyframes move {
		    0% {
		       background-position: 0 0;
		    }
		    100% {
		       background-position: 50px 50px;
		    }
		}

		@-moz-keyframes move {
		    0% {
		       background-position: 0 0;
		    }
		    100% {
		       background-position: 50px 50px;
		    }
		}
<div class="meter animate">
  <span style="width: 50%"><span></span></span>
</div>
like image 21
niyasc Avatar answered Sep 19 '26 21:09

niyasc