#F8FAFC
#F1F5F9
Empty State is a neutral and pastel 2-colour linear gradient that runs from off-white (#F8FAFC) to off-white (#F1F5F9) at 180°. 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 19.6:1 against the gradient’s average colour (AAA). Check every point, not just the average →
background: linear-gradient(180deg, #F8FAFC, #F1F5F9);
bg-gradient-to-b from-[#F8FAFC] to-[#F1F5F9]
{
"empty-state": {
"value": "linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%)",
"type": "color"
}
}
The same gradient, same direction, ready for your app or design system.
let emptyStateGradient = LinearGradient(
colors: [
Color(red: 0.973, green: 0.98, blue: 0.988),
Color(red: 0.945, green: 0.961, blue: 0.976)
],
startPoint: UnitPoint(x: 0.5, y: 0),
endPoint: UnitPoint(x: 0.5, y: 1)
)
// Usage
Rectangle().fill(emptyStateGradient)val emptyStateColors = listOf(Color(0xFFF8FAFC), Color(0xFFF1F5F9))
Modifier.drawBehind {
drawRect(
Brush.linearGradient(
colors = emptyStateColors,
start = Offset(size.width * 0.5f, size.height * 0f),
end = Offset(size.width * 0.5f, size.height * 1f)
)
)
}<!-- res/drawable/empty-state_gradient.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#F8FAFC"
android:endColor="#F1F5F9"
android:type="linear" />
</shape>const emptyStateGradient = LinearGradient(
begin: Alignment(0, -1),
end: Alignment(0, 1),
colors: [Color(0xFFF8FAFC), Color(0xFFF1F5F9)],
);
// Usage
Container(decoration: const BoxDecoration(gradient: emptyStateGradient))import { LinearGradient } from 'expo-linear-gradient';
<LinearGradient
colors={['#F8FAFC', '#F1F5F9']}
start={{ x: 0.5, y: 0 }}
end={{ x: 0.5, y: 1 }}
style={{ flex: 1 }}
/><svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<defs>
<linearGradient id="empty-state" x1="0.5" y1="0" x2="0.5" y2="1">
<stop offset="0%" stop-color="#F8FAFC" />
<stop offset="100%" stop-color="#F1F5F9" />
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#empty-state)" />
</svg>:root {
--empty-state-1: #F8FAFC;
--empty-state-2: #F1F5F9;
--empty-state-angle: 180deg;
--empty-state: linear-gradient(var(--empty-state-angle), var(--empty-state-1), var(--empty-state-2));
}
.hero {
background: var(--empty-state);
}$empty-state-1: #F8FAFC;
$empty-state-2: #F1F5F9;
$empty-state: linear-gradient(180deg, $empty-state-1, $empty-state-2);
@mixin empty-state-bg {
background: $empty-state-1;
background: $empty-state;
}| Stop | Name | HEX | RGB | HSL |
|---|---|---|---|---|
| 1 | Off-white | #F8FAFC | rgb(248, 250, 252) | hsl(210, 40%, 98%) |
| 2 | Off-white | #F1F5F9 | rgb(241, 245, 249) | hsl(210, 40%, 96%) |
Free PNG wallpapers and backgrounds, drawn in your browser at full resolution.
The Empty State gradient uses 2 colours: #F8FAFC and #F1F5F9, at an angle of 180°.
Paste background: linear-gradient(180deg, #F8FAFC, #F1F5F9); into any element’s styles. For Tailwind, use the class list in the Tailwind block above.
Black text has the best contrast, at 19.6:1 against the gradient’s average colour, which is AAA. Check the lightest and darkest ends too if text spans the whole gradient.