- var data = [
- 	{
- 		slist: ['#178ccd', '#156599'], 
- 		icon: '🍇', 
- 		ptext: 'Cake cookie lemon drops muffin sugar plum. Liquorice pudding sugar plum topping macaroon pie chocolate.'
- 	}, 
- 	{
- 		slist: ['#a5c73f', '#3e7e27'], 
- 		icon: '🍐', 
- 		ptext: 'Cake muffin donut chocolate cake jelly sesame snaps wafer tart pie sweet roll muffin chupa chups.'
- 	}, 
- 	{
- 		slist: ['#f6c232', '#eca122'], 
- 		icon: '🍋', 
- 		ptext: 'Cake cookie lemon drops muffin sugar plum. Liquorice pudding sugar plum topping macaroon pie chocolate.'
- 	}, 
- 	{
- 		slist: ['#d63193', '#a52178'], 
- 		icon: '🍒', 
- 		ptext: 'Cake muffin donut chocolate cake jelly sesame snaps wafer tart pie sweet roll muffin chupa chups.'
- 	}
- ];
- var n = data.length;

- for(var i = 0; i < n; i++)
	p(style=`--c0: ${data[i].slist[0]}; --c1: ${data[i].slist[1]}` 
		data-icon=`${data[i].icon}`) #{data[i].ptext}
View Compiled
$bar-w: 27em;
$bar-h: 7.5em;
$bar-b: 5vmin;
$bar-p: .5em;
$rng-r: .5*$bar-h;
$rng-w: 1em;
$rng-p: .375em;
$ico-f: 2;
$ico-p: .5*$rng-p/$ico-f;
$ico-a: $bar-h - 2*($rng-w + $rng-p);
$ico-s: $ico-a/$ico-f;
$ico-d: $ico-f*1em;
$solid: linear-gradient(red, red);
$c0: rgba(#fff, .8);

html {
	height: 100%;
	/* test background *
	background: 
		repeating-linear-gradient(-45deg, 
				gainsboro 0, gainsboro 2px, 
				transparent 0, transparent 5px);
	/* live background */
	background: linear-gradient($c0, $c0), 
		url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/2017/kreator_rockharz_july_2018.jpg) 
			50%/ cover fixed;/**/
}

body {
	--i: var(--wide, 1);
	--j: calc(1 - var(--i));
	--k: var(--narr, 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 100%;
	filter: drop-shadow(0 2px 5px rgba(#000, .65));
	
	@media (max-width: $bar-w + .5*$bar-h) { --wide: 0 }
	
	@media (min-width: 400px) { --narr: 0 }
}

p {
	--p: var(--parity, 0);
	--q: calc(1 - var(--p));
	--s: calc(1 - 2*var(--p));
	box-sizing: border-box;
	display: flex;
	flex-direction: var(--narr, column);
	align-items: center;
	justify-content: space-around;
	position: relative;
	margin: 
		.5em
		calc(var(--i)*var(--p)*#{.5*$bar-h})
		0
		calc(var(--i)*var(--q)*#{.5*$bar-h});
	border: solid 0 transparent;
	border-width: 
		0
		calc(var(--q)*#{$bar-b})
		0
		calc(var(--p)*#{$bar-b});
	padding: 
		$bar-p
		calc((var(--j) + var(--i)*var(--q))*#{$bar-p})
		$bar-p
		calc((var(--j) + var(--i)*var(--p))*#{$bar-p});
	max-width: $bar-w;
	min-height: $bar-h;
	background: 
		linear-gradient(#fcfcfc, gainsboro) padding-box, 
		linear-gradient(calc(var(--s)*90deg), var(--c0), var(--c1)) 
			calc(var(--q)*100%)/ #{$bar-b} 100%;
	color: var(--c1);
	font: 900 calc((1.25 - .375*var(--k))*1em)/ 1.5 trebuchet ms, verdana, sans-serif;
	text-align: var(--parity, right);
	text-transform: uppercase;
	
	&:before, &:after {
		box-sizing: border-box;
		min-width: var(--d); height: var(--d);
		border-radius: 50%
	}
	
	&:before {
		--d: #{$ico-d};
		display: flex;
		align-items: center;
		justify-content: center;
		order: calc((1 - var(--k))*var(--p));
		margin: 
			0
			calc(var(--i)*var(--p)*#{-.5*$ico-d} + var(--q)*#{$bar-p})
			0
			calc(var(--i)*var(--q)*#{-.5*$ico-d} + var(--p)*#{$bar-p});
		padding: $ico-p;
		background: 
			linear-gradient(var(--c1), var(--c0)) content-box, 
			linear-gradient(var(--c0), var(--c1));
		font-size: calc(#{$ico-s}/(1 + var(--k)));
		content: attr(data-icon)
	}
	
	&:after {
		--d: #{$bar-h};
		position: absolute;
		z-index: -1;
		left: calc(var(--p)*(100% - var(--d)) - var(--s)*.5*var(--d));
		padding: $rng-w;
		background: linear-gradient(90deg, var(--c0), var(--c1), var(--c0));
		mask: #{$solid} content-box exclude, #{$solid};
		content: var(--wide, '')
	}
	
	&:nth-child(2n) { --parity: 1 }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.