CSS border-block-start-color Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The border-block-start-color property sets the color of the logical block-start border. It does not set width or style. In the default horizontal writing mode, block-start is usually the top edge, so it acts like border-top-color.

The physical edge depends on writing-mode, direction, and text-orientation. It applies to all elements and is not inherited. The initial value is currentcolor.

Standard-track.

Not deprecated and not experimental. Logical border color longhands have been widely available since 2020.

CSS Syntax

syntax.css
border-block-start-color: <color> | initial | inherit;

Any valid CSS color works. You still need a visible border-block-start-style and width for the color to show.

Property Values

ValueDescriptionTry it
blueA named color on the block-start edgeTry it
#2563ebA hex colorTry it
rgb(220 38 38)An rgb() colorTry it
currentcolorUses the element’s text color. Initial valueTry it
transparentInvisible color; width still takes spaceTry it
initialResets to currentcolorTry it
inheritInherits this property from the parent elementTry it

How to Use border-block-start-color

Give the block-start edge a style and width first, then set its color.

  1. Set a visible style, for example border-block-start-style: solid;
  2. Set a positive width, for example border-block-start-width: 4px;
  3. Add border-block-start-color with any valid color.
  4. Or use the border-block-start shorthand to set all three together.
PieceRequired?Role
Border styleYes (to show a line)solid, dashed, and so on
Border widthYes (to see color)Zero width hides the color
Border colorYes (this property)Any <color>; defaults to currentcolor

Live Preview

Style and width stay fixed at 4px solid. Only border-block-start-color changes.

Width and style stay the same so you can compare colors only.

Result

Block start

border-block-start-color: blue

CSS Examples

Each snippet focuses on border-block-start-color. Style and width are only there so the color can show. Use Try It Yourself for a live editor.

Example 1 — Named Color

Color only the block-start edge with a named value.

CSS
<style>
  p {
    border-block-start-style: solid;
    border-block-start-width: 4px;
    border-block-start-color: blue;
  }
</style>

<p>Block start</p>
Try It Yourself

How It Works

  1. Draw the line. border-block-start-style: solid makes a visible stroke.
  2. Give it thickness. border-block-start-width: 4px sets how thick that stroke is.
  3. Paint the color. border-block-start-color: blue colors only the block-start edge.
  4. Find the edge. With default horizontal writing, that is usually the top of the paragraph.

Example 2 — currentcolor

Let the border follow the text color.

CSS
<style>
  p {
    color: #7c3aed;
    border-block-start-style: solid;
    border-block-start-width: 4px;
    border-block-start-color: currentcolor;
  }
</style>

<p>Block start</p>
Try It Yourself

How It Works

  1. Set the text color. color: #7c3aed is what currentcolor reads.
  2. Keep style and width. Without them, there is no line to color.
  3. Point color at the text. border-block-start-color: currentcolor copies that purple.
  4. Initial behavior. If you omit this property, browsers already use currentcolor by default.

Example 3 — Vertical Writing Mode

The color stays on the logical block-start side when writing mode flips.

CSS
<style>
  p {
    writing-mode: vertical-rl;
    border-block-start-style: solid;
    border-block-start-width: 8px;
    border-block-start-color: blue;
  }
</style>

<p>Block start</p>
Try It Yourself

How It Works

  1. Flip the block axis. writing-mode: vertical-rl makes lines run vertically.
  2. Keep the logical color. The same border-block-start-color still targets block-start.
  3. Watch the physical edge move. The colored line is no longer locked to the top of the screen box.
  4. Why logical colors help. One rule follows writing mode instead of rewriting border-top-color or border-right-color.

Edge Cases & Pitfalls

If the color seems missing, check these first.

style

Color needs a visible style

border-block-start-color alone never draws a line. Add border-block-start-style (or a border-block-start shorthand with a style).

width

Zero width hides the color

A border with 0 width has nowhere to show the color. Set a positive border-block-start-width.

top

Not the same as border-top-color

border-top-color always hits the physical top. This property follows the block-start side when writing-mode changes.

short

The shorthand can overwrite color

Writing border-block-start: 4px solid red after your color rule replaces it. Put border-block-start-color after the shorthand, or include the color in the shorthand.

pair

Block-end is a different property

Use border-block-end-color for the opposite block side, or border-block-color for both.

Browser Support

border-block-start-color is a browser layout property. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Widely available since 2020

border-block-start-color

Chrome 69+, Firefox 41+, Safari 12.1+, Edge 79+. Internet Explorer has no support.

97% modern browsers
Google Chrome 69+
Full support
Mozilla Firefox 41+
Full support
Apple Safari 12.1+
Full support
Microsoft Edge 79+
Full support
Opera 56+
Full support
Samsung Internet 10.1+
Full support
Internet Explorer No support
None
border-block-start-color Widely supported

Bottom line: Safe for modern browsers. For Internet Explorer, use a physical fallback such as border-top-color when you only need horizontal layouts.

Key Takeaways

  • Role: color only the logical block-start border.
  • Needs a line: style and width must exist before color is visible.
  • Logical: follows writing mode. Not locked to the physical top.
  • Initial value: currentcolor. Not inherited.

One line: visible block-start border + border-block-start-color: blue; = a colored logical start edge.

Frequently Asked Questions

It sets the color of the logical block-start border. In the default horizontal writing mode, that is usually the top border color.
The initial value is currentcolor, which uses the element’s text color for the block-start border.
This property only sets color. You also need a visible border-block-start-style such as solid and a width greater than zero.
border-top-color always colors the physical top edge. border-block-start-color follows writing-mode, direction, and text-orientation.
Yes. Any valid CSS <color> works, including named colors, hex, rgb(), hsl(), currentcolor, and transparent.
Chrome 69+, Firefox 41+, Safari 12.1+, and Edge 79+ support it. Internet Explorer does not. It is a browser layout property, not a Node.js feature.

Next: border-block-start-style

Choose solid, dashed, dotted, and more for the block-start edge.

border-block-start-style tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful