border-start-end-radius プロパティと writing-mode、direction、text-orientation

2024-04-02

CSS Miscellaneous: border-start-end-radius プロパティ

border-start-end-radius プロパティは、要素の境界線の論理的な角丸の半径を指定します。これは、要素の writing-modedirectiontext-orientation に基づいて、物理的な角丸半径にマッピングされます。

用途

このプロパティは、テキストの方向や書き方に関係なく、スタイルを構築する際に役立ちます。例えば、以下の様な用途があります。

  • 左右対称な角丸を作りたい場合
  • 縦書きの文章で、左上の角丸と右下の角丸を同じ大きさで表現したい場合
  • RTL(右から左に書く)言語で、角丸のデザインを維持したい場合

使い方

border-start-end-radius プロパティは、以下の形式で記述します。

border-start-end-radius: <length> | <percentage>;
  • <length> は、ピクセル (px) やエム (em) などの長さの単位で指定します。
  • <percentage> は、要素の幅または高さに対する割合で指定します。

以下の例は、要素の左上の角丸と右下の角丸をそれぞれ 10px に設定します。

border-start-end-radius: 10px;

以下の例は、要素の左上の角丸と右下の角丸をそれぞれ、要素の幅の 20% と高さの 50% に設定します。

border-start-end-radius: 20% 50%;

補足

  • border-start-end-radius プロパティは、border-radius プロパティと併用することができます。
  • border-start-end-radius プロパティは、IE 11 以前ではサポートされていません。


さまざまな border-start-end-radius サンプルコード

基本的な例

  • すべての角を同じ半径で丸くする
.element {
  border-radius: 10px;
}
  • 左上の角と右下の角のみを丸くする
.element {
  border-start-end-radius: 10px;
}
  • 左上の角のみを丸くする
.element {
  border-top-left-radius: 10px;
}
.element {
  border-bottom-right-radius: 10px;
}

応用的な例

  • 要素の幅の割合で角丸を設定する
.element {
  border-start-end-radius: 20%;
}
.element {
  border-start-end-radius: 0 50%;
}
  • グラデーションと組み合わせて角丸を強調する
.element {
  border-start-end-radius: 10px;
  background: linear-gradient(to right, #f00, #00f);
}
  • 角丸と影を組み合わせて立体感を出す
.element {
  border-start-end-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

方向性と border-start-end-radius

  • LTR 言語の場合
.element {
  border-start-end-radius: 10px; /* 左上の角と右下の角が丸くなる */
}
  • RTL 言語の場合
.element {
  border-start-end-radius: 10px; /* 右上の角と左下の角が丸くなる */
}
  • 縦書きの場合
.element {
  writing-mode: vertical-rl;
  border-start-end-radius: 10px; /* 左上の角と右下の角が丸くなる */
}



border-start-end-radius プロパティの代替方法

IE 11 以前で角丸のデザインを実現するには、以下の代替方法を使用できます。

border-radius プロパティは、すべての角を同じ半径で丸くすることができます。

.element {
  border-radius: 10px;
}

画像を使用する

角丸のデザインを画像として用意し、背景画像として設定することができます。

.element {
  background-image: url(rounded-corner.png);
}

SVG を使用する

角丸のデザインを SVG で記述し、background-image プロパティで設定することができます。

.element {
  background-image: url(rounded-corner.svg);
}

border プロパティと border-image プロパティを組み合わせて、角丸のデザインを実現することができます。

.element {
  border: 1px solid #ccc;
  border-image: url(rounded-corner.png) 10 10 10 10;
}

CSS ライブラリを使用する

border-radius プロパティを IE 11 以前でもサポートできるようにする CSS ライブラリを使用することができます。

これらの代替方法は、border-start-end-radius プロパティほど柔軟ではありませんが、IE 11 以前でも角丸のデザインを実現することができます。

どの方法を選択するかは、以下の点を考慮する必要があります。

  • デザインの要件
  • ブラウザのサポート状況
  • 開発の容易さ

デザインの要件

デザインによっては、border-radius プロパティだけで十分な場合もあります。しかし、より複雑な角丸のデザインを実現したい場合は、他の方法を使用する必要があります。

ブラウザのサポート状況

IE 11 以前のブラウザをサポートする必要がある場合は、border-start-end-radius プロパティを使用できません。

開発の容易さ

画像や SVG を使用する方法は、比較的簡単に実装できます。しかし、border プロパティと border-image プロパティを使用する方法は、より複雑なコーディングが必要になります。

border-start-end-radius プロパティは、角丸のデザインを柔軟に設定できる便利なプロパティですが、IE 11 以前ではサポートされていません。

IE 11 以前で角丸のデザインを実現するには、上記




ゲーム理論:ビジネス、政治、日常生活に潜む戦略的思考

ゲーム理論の基本的な要素は以下の3つです。プレイヤー: 意思決定を行う主体戦略: プレイヤーが選択できる行動の選択肢利得: プレイヤーが各戦略を選択したときの得られる利益ゲーム理論は、これらの要素を数学的なモデルを用いて分析することで、プレイヤーがどのような戦略を選択するのか、どのような結果になるのかを予測することができます。



CSSでセピア色の世界へようこそ!画像や要素をレトロに変身させる魔法の方法

CSSの「Filter Effects」機能の一つである「sepia()」は、画像や要素をモノクロ化し、茶褐色(セピア色)のトーンを適用する関数です。古い写真のようなレトロな雰囲気を演出したい場合などに効果的に使用できます。構文n は、セピア色の強さを表す数値です。0.0の場合は元の画像の色合いが維持され、1.0になると完全にセピア色になります。


CSS break-after プロパティを使いこなして、洗練されたデザインを実現する

break-after プロパティは、ページ、段組み、または領域の区切りを、指定された要素の後でどのように行うかを制御します。これは、印刷レイアウトや複雑なウェブページレイアウトを構築する際に役立ちます。可能な値auto: ブラウザのデフォルトの動作に従います。通常は、要素の後で区切りが発生しないことを意味します。


CSSコンポジティングとブレンド:画像を重ねて表現を豊かに

コンポジティング:レイヤーの重ね合わせコンポジティングは、複数のレイヤーを重ねることで、奥行きや陰影などの効果を生み出す技術です。Photoshopなどの画像編集ソフトでいう「レイヤー」と似ていますが、CSSでは要素をレイヤーとして扱い、それぞれに位置や透明度などの設定を施せます。


CSS Miscellaneous と mod プログラミング:Web デザインの可能性を広げる

mod プログラミングは、既存のコードを修正・拡張することで、新しい機能や動作を追加するプログラミング手法です。CSS にも適用できます。既存の CSS フレームワークやライブラリに依存せずに、自由度の高いカスタマイズが可能コード量を削減し、軽量で効率的な CSS を構築できる



角丸デザインを簡単に実現!CSSのborder-radiusプロパティ

CSSにおける "Miscellaneous" カテゴリは、要素の形状、配置、装飾などをコントロールするプロパティ群を指します。その中でも "round" は、要素の角を丸く表現する機能を提供するプロパティです。round プロパティborder-radius プロパティは、要素の境界線の角の丸みを設定します。値をピクセル単位で指定することで、角の丸み具合を調整できます。


CSS Miscellaneous: border-image-outset プロパティの分かりやすい解説

このプロパティの仕組み:border-image-outset は、1 つから 4 つの値を受け取ることができます。 1 つの値: すべての辺に同じアウトセット距離を設定します。 2 つの値: 最初の値は上辺と下辺、2 番目の値は左右の辺に設定されます。 3 つの値: 最初の値は上辺、2 番目の値は左右の辺、3 番目の値は下辺に設定されます。 4 つの値: 上辺、右辺、下辺、左辺の順に各辺に設定されます。


【上級者向け】CSS overflow-x プロパティを使いこなして、高度なレイアウトを実現しよう

テキストボックス画像flexbox レイアウトgrid レイアウトoverflow-x の値は以下のとおりです。visible (デフォルト): コンテンツがボックスの幅を超えてもスクロールバーを表示せず、コンテンツを隠します。hidden : コンテンツがボックスの幅を超えてもスクロールバーを表示せず、コンテンツを切り取ります。


これで完璧!CSS Grid レイアウトにおける grid-auto-rows プロパティの使いこなし術

grid-auto-rows プロパティは、以下のいずれかの値を使用して設定できます。長さ: 行の高さをピクセル、em、remなどの長さの単位で指定します。パーセンテージ: 行の高さをグリッドコンテナのブロックサイズに対する割合で指定します。


デバイスに合わせて変化する! border-block-start-width とメディアクエリの組み合わせ

border-block-start-width プロパティは、要素のブロック方向の開始位置における境界線の幅を指定します。これは、要素の書き込みモード、方向性、およびテキスト方向によって、物理的な境界線の幅にマッピングされます。用途このプロパティは、以下の場合に使用できます。