17

我知道已经有一篇关于弯曲文本的帖子,但我正在寻找一些具体的东西。

在这个网页 ( http://mrcthms.com/ ) 上,Marc 使用了一种很好的技术来为他的名字弯曲文字,但我终其一生都无法弄清楚如何复制该技术。这是我正在尝试的:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" x-undefined="" />
<title>Curved Text</title>
<style type="text/css">
span {
    display: inline-block;
    font-family: futura-pt, 'Helvetica Neue', sans-serif;
    font-size: 2.5em;
    font-weight: 300;
    margin: 1px;
}

.arced {
    display: block;
    text-shadow: rgba(0, 0, 0, 0.298039) 8px 8px;
    text-align: center;
    margin: 20px;
    padding: 50px 0 50px;
}

div span {
    text-shadow: rgba(0, 0, 0, 0.298039) 8px 8px;
    font-family: futura-pt, 'Helvetica Neue', sans-serif;
    font-size: 2.5em;
    font-weight: 300;
}

.arced > span:nth-child(1) {
    -webkit-transform:translateX(-1px) translateY(68px) rotate(-17deg);
    -webkit-transition:0s;
}
</style>
</head>

<body>
    <span class="arced">
        <span class="char1">S</span>
        <span class="char2">T</span>
        <span class="char2">E</span>
        <span class="char3">V</span>
        <span class="char4">E</span>
</span>
</body>

</html>
4

2 回答 2

17

我遇到了这个名为:CircleType.js的解决方案。它提供了一种创建循环文本的简短而简单的方法。

<h2 id="yourStyle">MARC THOMAS.</h2>

$('#yourStyle').circleType({radius: 800});

或者你可以使用相当灵活的lettering.js 。

在此之上使用 CSS/jQuery 添加您的过渡。希望这可以帮助!

于 2014-11-20T05:52:02.813 回答
13

他对每个字母使用 CSS3 转换。例如,他名字的 HTML 如下:

<span class="arced">
    <span class="char1">M</span>
    <span class="char2">a</span>
    <span class="char3">r</span>
    <span class="char4">c</span>
    ...
</span>

反过来,CSS如下:

.show .hero h1 .arced > span:nth-child(1) {
    -webkit-transform: translateX(-1px) translateY(68px) rotate(-17deg);
       -moz-transform: translateX(-1px) translateY(68px) rotate(-17deg);
        -ms-transform: translateX(-1px) translateY(68px) rotate(-17deg);
         -o-transform: translateX(-1px) translateY(68px) rotate(-17deg);
            transform: translateX(-1px) translateY(68px) rotate(-17deg);

    -webkit-transition-delay: 0s;
       -moz-transition-delay: 0s;
         -o-transition-delay: 0s;
            transition-delay: 0s;
}

.show .hero h1 .arced > span:nth-child(2) {
    -webkit-transform: translateX(-3px) translateY(39px) rotate(-13deg);
       -moz-transform: translateX(-3px) translateY(39px) rotate(-13deg);
        -ms-transform: translateX(-3px) translateY(39px) rotate(-13deg);
         -o-transform: translateX(-3px) translateY(39px) rotate(-13deg);
            transform: translateX(-3px) translateY(39px) rotate(-13deg);

    -webkit-transition-delay: .04s;
       -moz-transition-delay: .04s;
         -o-transition-delay: .04s;
            transition-delay: .04s;
}

等等。

于 2013-02-20T21:34:49.713 回答