CSS Font Border?
Z nowym CSS3 border stuff dzieje się (-webkit
, ...) czy można teraz dodać obramowanie do czcionki? (Jak biała ramka wokół niebieskiego logo Twittera). Jeśli nie, to czy są jakieś niezbyt brzydkie hacki, które osiągną to w CSS/XHTML, czy nadal muszę odpalić Photoshopa?
9 answers
Prawidłowa odpowiedź brzmi:
h1 {
color: yellow;
text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
<h1>Hello World</h1>
Spowoduje to ustawienie czterech cieni tego samego typu z czterech stron.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-15 15:53:22
UPDATE
Oto Mixin SCSS do generowania obrysu: http://codepen.io/pixelass/pen/gbGZYL
/// Stroke font-character
/// @param {Integer} $stroke - Stroke width
/// @param {Color} $color - Stroke color
/// @return {List} - text-shadow list
@function stroke($stroke, $color) {
$shadow: ();
$from: $stroke*-1;
@for $i from $from through $stroke {
@for $j from $from through $stroke {
$shadow: append($shadow, $i*1px $j*1px 0 $color, comma);
}
}
@return $shadow;
}
/// Stroke font-character
/// @param {Integer} $stroke - Stroke width
/// @param {Color} $color - Stroke color
/// @return {Style} - text-shadow
@mixin stroke($stroke, $color) {
text-shadow: stroke($stroke, $color);
}
Tak, stare pytanie.. z zaakceptowanymi (i dobrymi) odpowiedziami..
BUT...In gdyby ktoś tego potrzebował i nie znosił wpisywania kodu...
Jest to czarna ramka 2px z obsługą CrossBrowser (nie IE) Potrzebowałem tego dla czcionek @ fontface, więc musiało być czystsze niż poprzednie widziane odpowiedzi... Biorę każdą stronę pikselowo, aby upewnić się, że są (prawie) brak luk dla czcionek" rozmytych " (ręcznych lub podobnych). Można by dodać subpiksele (0.5 px), ale nie jest mi to potrzebne.
Długi Kod tylko granicy??? ...Tak!!!
text-shadow: 1px 1px 0 #000,
-1px 1px 0 #000,
1px -1px 0 #000,
-1px -1px 0 #000,
0px 1px 0 #000,
0px -1px 0 #000,
-1px 0px 0 #000,
1px 0px 0 #000,
2px 2px 0 #000,
-2px 2px 0 #000,
2px -2px 0 #000,
-2px -2px 0 #000,
0px 2px 0 #000,
0px -2px 0 #000,
-2px 0px 0 #000,
2px 0px 0 #000,
1px 2px 0 #000,
-1px 2px 0 #000,
1px -2px 0 #000,
-1px -2px 0 #000,
2px 1px 0 #000,
-2px 1px 0 #000,
2px -1px 0 #000,
-2px -1px 0 #000;
Możesz być może emulować obrys tekstu, używając css text-shadow
(lub -webkit-text-shadow
/-moz-text-shadow
) i bardzo niskie rozmycie:
#element
{
text-shadow: 0 0 2px #000; /* horizontal-offset vertical-offset 'blur' colour */
-moz-text-shadow: 0 0 2px #000;
-webkit-text-shadow: 0 0 2px #000;
}
Ale chociaż jest to bardziej dostępne niż właściwość -webkit-text-stroke
, wątpię, aby była dostępna dla większości twoich użytkowników, ale to może nie być problemem(pełna wdzięku degradacja i w ogóle).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-03 10:51:55
Aby rozwinąć więcej na temat niektórych odpowiedzi, które zostały wymienione-webkit-text-stroke, oto kod, aby to działało:
div {
-webkit-text-fill-color: black;
-webkit-text-stroke-color: red;
-webkit-text-stroke-width: 2.00px;
}
Szczegółowy artykuł o używaniu obrysu tekstu znajduje się tutaj , a lista przeglądarek obsługujących obrys tekstu to tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-18 12:07:09
Wydaje się, że istnieje właściwość' text-stroke', ale (przynajmniej dla mnie) działa tylko w Safari.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-03 10:44:21
Oto czego używam:
.text_with_1px_border
{
text-shadow:
-1px -1px 0px #000,
0px -1px 0px #000,
1px -1px 0px #000,
-1px 0px 0px #000,
1px 0px 0px #000,
-1px 1px 0px #000,
0px 1px 0px #000,
1px 1px 0px #000;
}
.text_with_2px_border
{
text-shadow:
/* first layer at 1px */
-1px -1px 0px #000,
0px -1px 0px #000,
1px -1px 0px #000,
-1px 0px 0px #000,
1px 0px 0px #000,
-1px 1px 0px #000,
0px 1px 0px #000,
1px 1px 0px #000,
/* second layer at 2px */
-2px -2px 0px #000,
-1px -2px 0px #000,
0px -2px 0px #000,
1px -2px 0px #000,
2px -2px 0px #000,
2px -1px 0px #000,
2px 0px 0px #000,
2px 1px 0px #000,
2px 2px 0px #000,
1px 2px 0px #000,
0px 2px 0px #000,
-1px 2px 0px #000,
-2px 2px 0px #000,
-2px 1px 0px #000,
-2px 0px 0px #000,
-2px -1px 0px #000;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-24 10:10:08
Czcionka Stroke-znak z mniejszą mixin
Oto mniej mixin do generowania obrysu: http://codepen.io/anon/pen/BNYGBy?editors=110
/// Stroke font-character
/// @param {Integer} $stroke - Stroke width
/// @param {Color} $color - Stroke color
/// @return {List} - text-shadow list
.stroke(@stroke, @color) {
@maxi: @stroke + 1;
.i-loop (@i) when (@i > 0) {
@maxj: @stroke + 1;
.j-loop (@j) when (@j > 0) {
text-shadow+: (@i - 1)*(1px) (@j - 1)*(1px) 0 @color;
text-shadow+: (@i - 1)*(1px) (@j - 1)*(-1px) 0 @color;
text-shadow+: (@i - 1)*(-1px) (@j - 1)*(-1px) 0 @color;
text-shadow+: (@i - 1)*(-1px) (@j - 1)*(1px) 0 @color;
.j-loop(@j - 1);
}
.j-loop (0) {}
.j-loop(@maxj);
.i-loop(@i - 1);
}
.i-loop (0) {}
.i-loop(@maxi);
text-shadow+: 0 0 0 @color;
}
W przeciwieństwie do pixelass answer, Nie jest w stanie znaleźć odpowiedzi.]}Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-03 08:53:48
text-shadow:
1px 1px 2px black,
1px -1px 2px black,
-1px 1px 2px black,
-1px -1px 2px black;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-20 09:23:45
Kiedyś próbowałem zrobić Te okrągłe rogi i cienie z css3. Później okazało się, że nadal jest słabo obsługiwany(Internet Explorer (y), oczywiście!)
W końcu próbowałem to zrobić w JS (HTML canvas z IE Canvas), ale ma to duży wpływ na wydajność (nawet na mojej maszynie C2D). Krótko mówiąc, jeśli naprawdę potrzebujesz efektu, rozważ biblioteki JS (większość z nich powinna być w stanie działać na IE6), ale nie rób tego z powodu problemów z wydajnością; jeśli nadal potrzebujesz alternatywy... mógłbyś użyj SFiR, następnie PS it i sfir it. CSS3 nie jest jeszcze gotowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-23 07:36:34