3

Wired のモバイル ビュー (デスクトップで表示するには、ユーザー エージェントを iOS Safari に設定します) は、標準の下線付きハイパーリンク スタイルに洗練されたひねりを加えています。

ここに画像の説明を入力

これは、外部グラフィックスを使用せずに純粋に CSS によって達成されたと想定しましたが、そうではありません。

background-image: url(http://cdn.mobify.com/sites/wired/production/i/link-bg.png);
background-size: 5px 24px;

borderこのプロパティを使用してカスタムの重み付けされた下線を作成することはよく知っていmargin-bottomますが、テキストのベースラインに到達するとオフセットが途切れるため、線のアンダーカットを作成できません。

このスタイルは CSS だけで実現できますか?

4

3 に答える 3

8

inset box-shadowプロパティを適用できます。

a {
    text-decoration: none;
    color: #000;
    box-shadow: inset 0 -4px 0 #c0e6f7;
}

jsFiddle デモ

最初の値はinsetで、box-shadow外側ではなく内側になります (より適切な言い方がないため)。2 番目の値0は x 値 (左右のボックスの影) です。次-4pxは y 値です (上から下へ)。3 つ目は0、影に「ぼかし」効果がないようにするためです (したがって、実線の境界効果が得られます)。次に、色の値が続きます。:)

于 2014-01-04T02:08:17.340 に答える
1

私は@JaceCottonの答えが好きですが、WIREDの画像バージョンにあるいくつかの小さな詳細が欠けています. アンダーラインのボトムに沿った少し濃いめのブルーのラインや、アンダーラインまでのソフトトップなどのディティール。

これらの詳細は重要ではないか、それほど目立たないかもしれませんが、オリジナルのWIREDバージョンのマーカーの下線効果に沿って、小さな詳細が本当に役立つと思います.

この css を任意の a タグに追加するだけで効果を確認できます ( demo ):

background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(198,232,248,0) 75%, rgba(192,230,247,1) 83%, rgba(192,230,247,1) 94%, rgba(184,226,245,1) 95%, rgba(184,226,245,1) 97%, rgba(184,226,245,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(75%,rgba(198,232,248,0)), color-stop(83%,rgba(192,230,247,1)), color-stop(94%,rgba(192,230,247,1)), color-stop(95%,rgba(184,226,245,1)), color-stop(97%,rgba(184,226,245,1)), color-stop(100%,rgba(184,226,245,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(198,232,248,0) 75%,rgba(192,230,247,1) 83%,rgba(192,230,247,1) 94%,rgba(184,226,245,1) 95%,rgba(184,226,245,1) 97%,rgba(184,226,245,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(198,232,248,0) 75%,rgba(192,230,247,1) 83%,rgba(192,230,247,1) 94%,rgba(184,226,245,1) 95%,rgba(184,226,245,1) 97%,rgba(184,226,245,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(198,232,248,0) 75%,rgba(192,230,247,1) 83%,rgba(192,230,247,1) 94%,rgba(184,226,245,1) 95%,rgba(184,226,245,1) 97%,rgba(184,226,245,0) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(198,232,248,0) 75%,rgba(192,230,247,1) 83%,rgba(192,230,247,1) 94%,rgba(184,226,245,1) 95%,rgba(184,226,245,1) 97%,rgba(184,226,245,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00b8e2f5',GradientType=0 ); /* IE6-9 */
于 2014-01-24T18:32:49.423 に答える
1

線形グラデーションと背景サイズでこれを行うことができます。

デモ

a {
  text-decoration: none;
  color: inherit;
  background: linear-gradient(to bottom, rgb(227,244,251), rgb(175,221,243)) bottom repeat-x;
  background-size: 25%;
}
于 2014-01-04T02:20:11.020 に答える