コンテンツにスキップ

LinkBox

ボックス全体をリンク化するis--linkBoxクラスを出力できる<Lism>コンポーネントです。

デフォルトでは<Lism isLinkBox>のエイリアスで、プロパティに合わせて専用処理を加えています。

import { LinkBox, Link } from 'lism-css';
Prop説明
hrefリンク先を指定できます。hrefが指定されている場合はaタグとなり、なければdivとして出力されます。

<LinkBox>(.is--linkBox)は、主に次の2通りの使い方ができます。

  1. <LinkBox>(.is--linkBox)を<a>タグにしてそのままリンクにする。
  2. <LinkBox>(.is--linkBox)を<div>にして、内部にa.u--overlayLinkを配置する。

LinkBox内部に別のリンクも配置するには、2 を採用してください。

<LinkBox>hrefを指定すると<LinkBox>自体が<a>タグになります。

<LinkBox href='#linkbox-demo01' p='40' bgc='base' bdc='divider' bd bdrs='30'>
<Text fz='xl' fw='bold'>Heading text</Text>
<Text lh='s' mbs='20'>
Lorem ipsum dolor sit, amet consectetur adipisicing elit, sed do eiusmod tempor. Non facere laudantium ex eos doloribus aut dolore nisi provident.
</Text>
<Text fz='s' c='text-2' ta='r' lh='1' mbs='10'>MORE →</Text>
</LinkBox>

内部のアンカー要素に.u--overlayLinkを併用してもボックス全体をリンクにすることができます。

この時、LinkBoxの内部に別のリンクも配置できます。

<LinkBox p='40' bgc='base' bdc='divider' bd bdrs='30' trs hov={{bxsh: '40'}}>
<Text fz='xl' fw='bold'>
<a className='u--overlayLink' href='#linkbox-demo02'>Heading link text</a>
</Text>
<Dummy c='text-2' lh='s' mbs='20' />
<Text id='inner-link02' mbs='10'>
<a href='#inner-link02' className='-hov:fade'>Inner Link</a>
</Text>
</LinkBox>

Tabキーでフォーカスした時のアウトラインをLinkBox全体に広げ

Section titled “Tabキーでフォーカスした時のアウトラインをLinkBox全体に広げ”

u--overlayLinkでリンクを設置すると、Tabキーでフォーカスした時はアウトラインがボックス全体ではなくリンクテキスト部分のみになります。

もしこれをボックス全体に広げたい場合、以下のようなCSSを追記してください。

@supports selector(:has(*)) {
.is--linkBox:has(.u--overlayLink:focus-visible) {
outline: auto 1px;
outline: auto 1px -webkit-focus-ring-color;
}
.u--overlayLink:focus {
outline: 0;
}
}