#E2E8F0
#CBD5E1
Loading Skeleton is a neutral and pastel 2-colour linear gradient that runs from light grey (#E2E8F0) to light grey (#CBD5E1) at 90°. It suits subtle surfaces and app backgrounds and soft backgrounds, cards and onboarding screens. Black text reads best on it, at a contrast ratio of 15.5:1 against the gradient’s average colour (AAA). Check every point, not just the average →
background: linear-gradient(90deg, #E2E8F0, #CBD5E1);
bg-gradient-to-r from-[#E2E8F0] to-[#CBD5E1]
{
"loading-skeleton": {
"value": "linear-gradient(90deg, #E2E8F0 0%, #CBD5E1 100%)",
"type": "color"
}
}
The same gradient, same direction, ready for your app or design system.
let loadingSkeletonGradient = LinearGradient(
colors: [
Color(red: 0.886, green: 0.91, blue: 0.941),
Color(red: 0.796, green: 0.835, blue: 0.882)
],
startPoint: UnitPoint(x: 0, y: 0.5),
endPoint: UnitPoint(x: 1, y: 0.5)
)
// Usage
Rectangle().fill(loadingSkeletonGradient)val loadingSkeletonColors = listOf(Color(0xFFE2E8F0), Color(0xFFCBD5E1))
Modifier.drawBehind {
drawRect(
Brush.linearGradient(
colors = loadingSkeletonColors,
start = Offset(size.width * 0f, size.height * 0.5f),
end = Offset(size.width * 1f, size.height * 0.5f)
)
)
}<!-- res/drawable/loading-skeleton_gradient.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="0"
android:startColor="#E2E8F0"
android:endColor="#CBD5E1"
android:type="linear" />
</shape>const loadingSkeletonGradient = LinearGradient(
begin: Alignment(-1, 0),
end: Alignment(1, 0),
colors: [Color(0xFFE2E8F0), Color(0xFFCBD5E1)],
);
// Usage
Container(decoration: const BoxDecoration(gradient: loadingSkeletonGradient))import { LinearGradient } from 'expo-linear-gradient';
<LinearGradient
colors={['#E2E8F0', '#CBD5E1']}
start={{ x: 0, y: 0.5 }}
end={{ x: 1, y: 0.5 }}
style={{ flex: 1 }}
/><svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<defs>
<linearGradient id="loading-skeleton" x1="0" y1="0.5" x2="1" y2="0.5">
<stop offset="0%" stop-color="#E2E8F0" />
<stop offset="100%" stop-color="#CBD5E1" />
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#loading-skeleton)" />
</svg>:root {
--loading-skeleton-1: #E2E8F0;
--loading-skeleton-2: #CBD5E1;
--loading-skeleton-angle: 90deg;
--loading-skeleton: linear-gradient(var(--loading-skeleton-angle), var(--loading-skeleton-1), var(--loading-skeleton-2));
}
.hero {
background: var(--loading-skeleton);
}$loading-skeleton-1: #E2E8F0;
$loading-skeleton-2: #CBD5E1;
$loading-skeleton: linear-gradient(90deg, $loading-skeleton-1, $loading-skeleton-2);
@mixin loading-skeleton-bg {
background: $loading-skeleton-1;
background: $loading-skeleton;
}| Stop | Name | HEX | RGB | HSL |
|---|---|---|---|---|
| 1 | Light grey | #E2E8F0 | rgb(226, 232, 240) | hsl(214, 32%, 91%) |
| 2 | Light grey | #CBD5E1 | rgb(203, 213, 225) | hsl(213, 27%, 84%) |
Free PNG wallpapers and backgrounds, drawn in your browser at full resolution.
The Loading Skeleton gradient uses 2 colours: #E2E8F0 and #CBD5E1, at an angle of 90°.
Paste background: linear-gradient(90deg, #E2E8F0, #CBD5E1); into any element’s styles. For Tailwind, use the class list in the Tailwind block above.
Black text has the best contrast, at 15.5:1 against the gradient’s average colour, which is AAA. Check the lightest and darkest ends too if text spans the whole gradient.