반응형 웹 디자인은 전체 웹에서 중요한 성과입니다. 우리는 더 이상 고정 크기 영역으로 분할된 정적 콘텐츠를 사용하여 오랫동안 사용되지 않는 "인쇄된 페이지" 모델에 속박되지 않습니다. 오늘날 인터넷은 화면에서 사용할 수 있는 모든 공간을 채우면서 살고 숨 쉬고 적응할 수 있습니다. 다양한 장치에서 시작 휴대 전화- 최대 대형 비디오 디스플레이. 이것이 바로 글로벌 네트워크가 되어야 했던 것입니다.

그러나 작은 문제가 있습니다. 웹사이트에는 배너 광고와 유연성이 좋지 않은 기존 배너가 포함되어 있는 경우가 많습니다. 플래시 및 GIF 배너 모두 크기가 고정되어 있기 때문에 최신 배너와 호환되지 않습니다. 적응형 레이아웃. 우리는 필요 새로운 방법창조 배너 광고. "반응형" 배너가 필요합니다...

새로운 배너 형식

배너를 마크업만큼 유연하게 만드는 유일한 방법은 HTML5로 작성하는 것입니다. 처음에는 이것이 미친 생각처럼 보일 수 있지만, 그렇지 않습니다. 실제로 이 접근 방식에는 다음과 같은 많은 이점이 있습니다.

  • HTML 광고는 어디에나 있습니다그리고 시맨틱 마크업은 스크린 리더에 적합하도록 만들 것입니다.
  • 텍스트, 이미지, 비디오, 스크립트 및 양식 - 이 모든 것을 배너에서 사용할 수 있습니다.모든 웹 페이지와 마찬가지로;
  • 필요하다면 배너는 서버 측에서 동적 스크립트 및 데이터베이스를 사용할 수 있습니다.;
  • 배너는 배치 후 변경할 수 있습니다.;
  • HTML 배너의 파일(파일 세트)은 크기가 매우 작을 수 있습니다.;
  • 배너 서비스는 본질적으로 웹 호스팅으로 요약됩니다.;
  • 웹 개발자는 새로운 것을 배울 필요가 없습니다- 모든 기술은 기존 웹 개발과 동일하게 유지됩니다.
  • 그리고 물론, CSS3 미디어 쿼리를 사용하여 HTML5 광고를 모든 크기로 "조정"할 수 있습니다.- 결국 이것은 적응형 배너에서 기대하는 동작입니다!

어떻게 달성할 수 있습니까?

먼저 배너는 고무 HTML5 페이지로 생성됩니다. 텍스트, 이미지, 필수 페이지 링크로 채우고 CSS3로 모두 장식합니다. 둘째, 이러한 배너는 플로팅 iframe을 사용하는 모든 웹사이트에 배치할 수 있습니다. CSS3 미디어 쿼리를 사용하여 iframe의 크기를 동적으로 만드는 방법이 있습니다. 이에 대해 곧 설명하겠습니다... 하지만 대부분의 경우 그게 전부입니다!

친구들, 모두들 안녕. 오늘 우리는 계속해서 배너를 만들 것입니다. 구글 프로그램 3D 효과가 있는 HTML5 형식의 Web Designer.

그리고 이것은 이해할 수 있습니다. html5 및 css3에서 만든 배너는 컴퓨터, TV 및 모바일 장치의 모든 화면에 표시됩니다. 플래시 배너에 대해 말할 수없는 것.

또한 이러한 배너는 충분히 사용할 수 있으며 배너는 모든 화면에서 멋지게 보입니다.

그리고 그 사실을 감안할 때 모바일 기기인터넷 리소스를 보는 데 점점 더 많이 사용되고 있으므로 이는 매우 중요합니다.

사이트의 주요 위치와 배치는 지난 기사에서 이미 말했습니다. 그래서 오늘은 3D 효과 생성과 순환(재생) 설정에 대해 알아보겠습니다. 또한 "이벤트"에 대한 몇 가지 설정을 고려하십시오.

이 전체 과정을 자세히 설명하는 것은 다소 어렵기 때문에 비디오 자습서를 참고하시기 바랍니다. 따라서 재료를 마스터하는 것이 훨씬 쉬울 것입니다. 또한 좋은 예로서 내 배너의 프로젝트와 함께 아카이브를 다운로드하십시오.

3D 효과가 있는 배너를 만들 준비를 하고 있습니다.

완성된 형태의 배너 유형은 궁극적으로 준비에 달려 있습니다. Google Web Designer 편집기를 사용하면 사실적인 3D 효과를 만들 수 있으며 이 모든 것이 HTML 코드, 비주얼 편집기에서 모든 것을 올바르게 조합하기만 하면 됩니다.

고품질 3D 효과를 만들려면 먼저 Photoshop에서 공백을 잘라야 하며 나중에 Google Web Designer에서 결합해야 합니다.

예를 들어 다음 공백을 준비했습니다.

저는 이 공백을 포토샵으로 만들었는데 인터넷에 비슷한 이미지가 많이 있습니다. 긴장을 풀 수는 없지만 기성품 옵션을 선택하십시오.

참고: 이러한 공백을 만드는 과정에 관심이 있는 경우 주석에 이에 대해 작성하십시오.

배너와 스크립트의 전체적인 구성을 생각하는 것도 중요합니다. 배너가 일반적으로 인식되는 방식에 따라 다릅니다.

Google Web Designer에서 3D 개체 만들기

따라서 지난 기사와 유사하게 편집기를 실행하고 새 프로젝트를 만듭니다.

3D 효과는 합성 이미지, 즉 원하는 투영에 위치한 여러 조각으로 구성된 이미지를 의미합니다.

이러한 여러 이미지는 그룹으로 결합하거나 DIV 블록에 배치해야 합니다. 그래서 그것은 옳을 것입니다. 하지만 DIV 쪽에서 작업하는 것이 더 편리합니다.

1단계: DIV 블록을 만듭니다.

따라서 DIV 블록을 생성하려면 왼쪽 패널에서 "태그 도구(디)".

반드시 아이디를 부여해 주십시오. 그리고 섹션으로 치수를 조정하십시오. "속성"오른쪽 패널에서

이제 블록을 선택해야 합니다. 이렇게 하려면 왼쪽 패널에서 "선택 도구(V)"그리고 더블 클릭 DIV 블록의 프레임을 마우스 왼쪽 버튼으로 클릭합니다. 색상이 빨간색으로 변경됩니다.

2단계 이미지를 정렬합니다.

이제 가장 힘든 과정이 시작됩니다. 단일 이미지의 모든 요소를 ​​노출해야 합니다.

내 마음대로 다음 요소:

- 상부.

- 측면(3개의 개별 부품으로 구성).

먼저 이미지의 뒷면(뒷면)을 놓고 배너의 중앙과 상단 가장자리에 맞춥니다.

같은 방법으로 앞면을 추가하십시오. Z축을 따라 정렬하고 오프셋합니다.

측면의 너비가 4px(픽셀)이므로 Z축을 따라 앞뒷면을 2px, -2px씩 이동했습니다. 이렇게 하면 이미지 사이에 간격이 생깁니다.

참고: 정확한 오프셋 번호는 스크린샷을 참조하십시오.

다음으로 측면, 모든 부품을 별도로 추가합니다. 쉽게 배치하려면 도구를 사용하십시오. "삼D 작업 공간 회전"그리고 "규모". 그들은 모든 세부 사항을 정확하게 맞추는 데 도움이 될 것입니다.

우선 모든 이미지를 한 손에 구축한 다음 복사하여 다른 쪽의 미러 프로젝션에 배치할 것을 제안합니다.

다음 단계는 왼쪽 상단 모서리를 만드는 것입니다.

이제 측면의 중앙 부분입니다.

그리고 왼쪽 하단 모서리입니다.

Y축을 따라 측면의 모든 요소를 ​​90 0으로 정렬해야 합니다.

이제 원하는 레이어를 복사하여 다시 붙여넣고 위치 매개변수의 이름을 바꾸고 변경하여 오른쪽 요소를 가져와야 합니다.

이렇게하려면 하단 패널에서 이미지를 선택하십시오. CTRL + C (복사) 키 조합을 누르고 복제 된 CTRL + V를 붙여 넣으십시오.

필드 쪽과 같은 방식으로 위에서 아래로 시작하지만 오른쪽에만 적용됩니다.

오른쪽 상단 덮개.

아래 부분은 이미지에 안보이길래 하지 않았습니다.

가장 힘든 작업이 끝났습니다. 이제 애니메이션 설정을 시작할 수 있습니다. 시각적 데모로 이미지를 회전해 보겠습니다.

Google Web Designer에서 회전 효과 만들기

첫 번째 단계는 이미지의 모든 요소를 ​​포함하는 DIV 블록을 종료하는 것입니다. 즉, 특정 이미지로 블록 내에서 작업했고 이제 DIV 블록을 제어하면서 모든 이미지를 동시에 작업해야 합니다.

시작하려면 하단 바에서 DIV 버튼을 클릭하십시오.

따라서 시간 척도에서 마우스 오른쪽 버튼을 클릭하여 두 개의 키프레임을 만듭니다. 다음과 같이 표시되어야 합니다.

Y 스케일에서 소스 프레임의 위치는 -90 0 으로 설정됩니다.

첫 번째 키 프레임(행의 두 번째)은 Y 스케일에서 0 0 으로 설정됩니다.

두 번째 키 프레임(세 번째 키 프레임)은 Y 스케일에서 90 0 으로 설정됩니다.

결과를 확인할 수 있습니다. 이렇게하려면 버튼을 클릭하십시오 플레이.

사실, 우리의 이미지는 단 한 번의 혁명을 일으킬 것입니다. 이미지가 지속적으로 회전하거나 여러 번 회전하려면 순환 매개변수를 조정해야 합니다.

Google Web Designer에서 사이클링 설정

프로그램에서 순환(반복)에 대한 여러 옵션을 구성할 수 있습니다. 따라서 배너의 모든 요소 또는 각 요소에 대해 개별적으로 반복을 설정할 수 있습니다.

또한 반복 횟수에 따라 순환성을 제한하거나 무한대로 만들 수 있습니다.

하단 패널의 각 요소 옆에는 기호가 있습니다. "잠금", "눈", "역방향 화살표".

따라서 주기를 설정하려면 기호를 클릭해야 합니다. "역방향 화살표".그리고 둘 중 하나를 선택 한정 수량반복, 또는 끝없는 선택.

무한 루프 애니메이션을 선택했습니다. 설정하고 싶으니까 "개발"마우스 커서를 가져가면 회전이 중지되고 커서가 제거된 후에도 회전이 계속되는 방식입니다.

배너 위로 마우스를 가져갈 때 회전을 중지합니다.

우선 첫 번째 키 프레임(연속 두 번째)에서 레이블을 설정합니다. 이렇게 하려면 프레임 위에서 마우스 오른쪽 버튼을 누르고 메뉴 항목을 선택합니다. "라벨 추가". 레이블 이름을 입력하고 Enter 키를 누릅니다.

그리고 다음 단계에서 수신기로 선택하십시오. « 페이지 1". 다른 옵션은 없을 것입니다.

그리고 마지막 단계는 초기 단계에서 생성한 레이블을 선택합니다.

이벤트를 저장하고 확인합니다. 레이블이 만들어진 프레임 위로 마우스 커서를 이동하면 배너 회전이 중지됩니다.

마우스 커서를 이동한 후 회전을 재개합니다.

커서를 옆으로 옮긴 후에도 회전을 계속하려면 다른 이벤트를 설정하세요.

두 가지 차이점만 제외하고 이전과 유사하게 구성됩니다.

이벤트가 선택되었습니다 "생쥐"« 마우스아웃".

이벤트 - 마우스 이동

하지만 행동으로 "타임라인"« 토글플레이".

작업 - 계속

3D 효과가 있는 배너가 준비되었습니다. 그리고 원하는 만큼 다양한 효과를 낼 수 있습니다.

마우스 클릭 및 링크 열릴 때 이벤트를 만드는 것을 잊지 마십시오. 배너는 결국 아름다움을 위해 만들어진 것이 아닙니다.

처음에는 이 프로세스가 복잡해 보일 수 있지만 몇 개의 배너를 만들고 나면 더 이상 그렇지 않습니다.

오늘은 여기까지입니다. 모든 성공을 기원하며 귀하의 의견을 기다리며 새로운 기사와 비디오 자습서에서 뵙겠습니다.

진심으로, Maxim Zaitsev.

오늘은 CSS3 애니메이션을 사용하여 배너를 만들어 보겠습니다.

현재 Firefox와 WebKit 브라우저만 CSS 애니메이션을 지원하지만 다른 브라우저(18세기 브라우저라고 함)에서도 이러한 배너가 작동하도록 하는 방법을 살펴보겠습니다. 그러나 최신 CSS 기술을 실험할 때 모든 브라우저(특히 IE 7 이하)에서 큰 지원을 기대하지 마십시오.

애니메이션 배너를 만들어 봅시다!

참고: 공간을 절약하기 위해 모든 브라우저 접두사가 제거되었습니다. 센티미터. 소스 파일모든 CSS 코드를 보려면 CSS 애니메이션에 익숙하지 않다면 적극 권장합니다.가장 먼저읽어.

HTML 마크업

먼저 다음을 사용하여 배너 구조를 만듭니다. HTML 도움말. 이 시점에서 우리는 애니메이션이 어떻게 작동하기를 원하는지, 즉 마크업 구조의 자식 및 부모 요소에 어떤 영향을 미칠지 생각해야 합니다(아래에서 설명하겠습니다).



> 바다에서 잃어 버리다? >
> 진정하세요. 방향타가 있습니다. >
>


>
>


  • >
  • >
  • >
    >

    • >
    • >
    • >
      >
      >

        >
        >
        >
        >

        • >
        • >
          >
          >

          마크업의 구조를 이해하기 위해 잠시 보트에 집중해 보겠습니다.


            >
            >
            >
            >

            이제 데모 페이지의 첫 번째 배너를 살펴보겠습니다. 배에서 발생하는 세 가지 별도의 애니메이션이 있습니다.

            • 애니메이션 - 배가 왼쪽에서 미끄러질 때. 이것은 순서가 지정되지 않은 목록(보트 항목 그룹)에 직접 적용됩니다.
            • 애니메이션 - 보트에 흔들리는 효과를 주어 물 위에 떠 있는 보트를 시뮬레이션합니다. 이것은 목록의 요소(보트에)에 직접 적용됩니다.
            • 애니메이션 - 물음표를 숨깁니다. 이것은 div(물음표)에 적용됩니다.

            멀미가 나지 않는다면 데모 페이지를 다시 한 번 살펴보세요. 보트를 상승시키는 목록 항목(보트)에 적용되는 애니메이션이 그 안의 DIV에도 영향을 미치는 것을 볼 수 있습니다(물음표와 함께). 또한 순서가 지정되지 않은 목록(그룹)에 적용되는 "슬라이드 인" 애니메이션은 목록 요소와 그 안의 DIV(보트 및 물음표)에도 영향을 줍니다. 이것은 우리에게 중요한 관찰을 제공합니다:

            자식 요소는 자체 애니메이션 외에도 부모로부터 애니메이션을 상속합니다.이 지식은 우리의 무기고에 추가되었지만 애니메이션을 만들 때 자녀/부모의 수는 당신의 마음을 놀라게 할 것입니다(그리고 할머니의 랩톱에 있는 프로세서)!

            CSS

            정말 흥미로운 내용을 살펴보고 애니메이션을 만들기 전에 18세기에 갇힌 브라우저의 스타일을 지정해야 합니다.

            이전 브라우저의 대체 스타일

            우리는 CSS 애니메이션이 존재하지 않는 것처럼 대체 스타일을 생성할 것입니다(CSS 애니메이션이 존재하지 않는다는 생각은 성인을 울게 할 뿐만 아니라 내 옆에 매달리게 만들 것입니다 :)). 즉, 애니메이션이 재생되지 않더라도 배너는 여전히 보기 좋게 표시되어야 합니다. 이렇게 하면 누군가가 이전 브라우저를 사용하여 배너를 볼 때 공백 대신 일반 정적 배너가 표시됩니다.

            예: 누군가가 이와 같은 CSS를 사용하면 문제가 발생합니다.

            /* 잘못된 방법! */


            0% (불투명도: 0 ; )
            100%(불투명도: 1 ; )
            }

            사업부(
            불투명도: 0 /* 이 블록은 기본적으로 숨겨져 있습니다!*/

            }

            사용자의 브라우저가 애니메이션을 지원하지 않는 경우 배너는 사용자에게 보이지 않는 상태로 유지됩니다. 그러면 고객은 손에 전기톱을 들고 판매자 사무실의 문을 부수고 왜 자신의 제품을 판매하지 않았는지 설명할 것을 요구할 것입니다! 그리고 그들이 브라우저가 그렇게 비참할 수 있다는 것을 이해하지 못한다면 그들의 삶은 끔찍하게 끝날 것이고 그들의 마지막 말은 Internet Explorer에서 저주가 될 것입니다 ... :)

            하지만 걱정하지 마세요. 확장된 브라우저 지원을 제공할 것입니다.

            /* 옳은 길 */

            @keyframe 우리의 페이드 인 애니메이션(
            0% (불투명도: 0 ; )
            100%(불투명도: 1 ; )
            }

            사업부(
            불투명도: 1 /* 이 div는 기본적으로 표시됩니다. */
            애니메이션: 우리의 페이드인 애니메이션 1s 1 ;
            }

            보시다시피 애니메이션 재생에 실패하더라도 DIV는 계속 표시됩니다. 애니메이션을 재생할 수 있으면 DIV가 즉시 숨겨지고 애니메이션이 끝까지 재생됩니다.

            이제 애니메이션 배너가 이전 브라우저를 지원하도록 하는 방법을 알았으므로 몇 가지 기본 CSS로 이동해 보겠습니다.

            명심해야 할 세 가지 핵심 사항이 있습니다.

            • 이러한 광고는 다양한 웹사이트에서 사용될 수 있으므로, 우리는 모든 CSS 스타일을 매우 구체적으로 만들 것입니다.. id: #ad-1로 각 선택기를 선언하기 시작합니다. 이렇게 하면 기존 스타일 및 요소가 배너 스타일을 방해하지 않도록 할 수 있습니다.
            • 우리는 의도적으로 애니메이션 지연 기능 무시애니메이션을 만들 때. 애니메이션 지연 기능과 요소에 대한 디자인을 올바른 방식으로 사용한다면(기본적으로 표시됨) 애니메이션이 최종적으로 재생되기 전에 모든 것이 화면에 표시됩니다. 그렇기 때문에 애니메이션이 즉시 시작되어 필요할 때까지 화면에서 요소를 숨길 수 있습니다. 지속 시간을 늘리고 키프레임을 수동으로 조정하여 애니메이션 지연을 시뮬레이션합니다. 애니메이션 제작을 시작할 때 이에 대한 예를 볼 수 있습니다.
            • 가능하다면, 여러 요소에 하나의 애니메이션 사용. 이러한 방식으로 많은 시간을 절약하고 코드 팽창을 줄일 수 있습니다. 지속 시간과 전환을 조정하여 동일한 애니메이션에서 여러 가지 다른 효과를 만들 수 있습니다.

            그래서 우리는 광고 배너를 만들기 시작합니다. 내부 요소가 올바르게 배치될 수 있도록 상대 위치(position: relative)가 있는지 확인합시다. 또한 overflow: hidden 속성이 다른 모든 것을 숨기도록 설정되어 있는지 확인해야 합니다.

            #ad-1(
            너비 : 720px
            높이: 300px
            왼쪽으로 뜨다 ;
            여백: 40px 자동 0 ;
            배경 이미지 : url (../images/ad-1/background.png ) ;
            배경 위치 : 중앙 ;
            background-repeat : 반복하지 않음 ;
            오버플로: 숨김
            위치 : 상대 ;
            상자 그림자: 0px 0px 6px #000 ;
            }

            #ad-1 #콘텐츠(
            너비 : 325px
            플로트 : 오른쪽 ;
            여백 : 40px ;
            텍스트 정렬 : 가운데 ;
            z-인덱스: 4 ;
            위치 : 상대 ;
            오버플로: 보이는
            }
            #ad-1 h2(
            font-family : "Alfa Slab One" , 필기체 ;
            색상 : #137dd5 ;
            글꼴 크기 : 50px ;
            라인 높이 : 50px ;

            애니메이션: 지연 페이드 애니메이션 7s 1 이즈 인 아웃; /* H2는 시뮬레이션된 애니메이션 지연으로 페이드 아웃됩니다. */
            }
            #ad-1 h3(

            색상 : #202224 ;
            글꼴 크기 : 31px ;
            라인 높이 : 31px ;
            텍스트 그림자 : 0px 0px 4px #fff ;
            애니메이션: 지연 페이드 애니메이션 10초 1 이즈 인 아웃; /* H3는 시뮬레이션된 애니메이션 지연으로 페이드 아웃됩니다. */
            }
            #ad-1 양식(
            여백 : 30px 0 0 6px ;
            위치 : 상대 ;
            애니메이션: form-animation 12s 1 easy-in-out; /* 이 코드는 이메일 양식을 이동합니다 */
            }
            #ad-1 #이메일(
            너비 : 158px ;
            높이 : 48px ;
            왼쪽으로 뜨다 ;
            패딩: 020px
            글꼴 크기 : 16px ;
            font-family : "Lucida Grande", sans-serif ;
            색상 : #fff ;
            텍스트 그림자 : 1px 1px 0px #a2917d ;
            테두리-상단-왼쪽 반경: 5px ;
            테두리 하단 왼쪽 반경: 5px ;
            테두리 : 1px 솔리드 #a2917d ;
            개요 : 없음 ;
            상자 그림자: -1px -1px 1px #fff ;
            배경색 : #c7b29b ;
            background-image : linear-gradient(bottom , rgb (216 , 201 , 185 ) 0% , rgb (199 , 178 , 155 ) 100% ) ;
            }
            #ad-1 #이메일 :포커스(
            background-image : linear-gradient(bottom , rgb (199 , 178 , 155 ) 0% , rgb (199 , 178 , 155 ) 100% ) ;

            }
            #ad-1 #제출(
            높이: 50px
            왼쪽으로 뜨다 ;
            커서 : 포인터 ;
            패딩: 020px
            글꼴 크기 : 20px ;
            font-family : "Boogaloo" , 필기체 ;
            색상 : #137dd5 ;
            텍스트 그림자 : 1px 1px 0px #fff ;
            테두리-위-오른쪽-반경: 5px ;
            테두리-하단-오른쪽 반경: 5px ;
            테두리 : 1px 솔리드 #bcc0c4 ;
            테두리 왼쪽 : 없음
            배경색 : #fff ;
            background-image : linear-gradient(bottom , rgb (245 , 247 , 249 ) 0% , rgb (255 , 255 , 255 ) 100% ) ;
            }
            #ad-1 #제출 : 호버(
            background-image : linear-gradient(bottom , rgb (255 , 255 , 255 ) 0% , rgb (255 , 255 , 255 ) 100% ) ;
            }

            이제 물의 스타일을 지정하고 적절한 애니메이션을 호출합니다.

            #ad-1 ul#물(
            /* 물에 대한 다른 애니메이션을 추가하려면(예: 수평으로 이동) 여기에서 추가할 수 있습니다. */
            }
            #ad-1 li#water-back(
            너비 : 1200px
            높이 : 84px ;
            배경 이미지 : url (../images/ad-1/water-back.png ) ;

            z-인덱스: 1 ;
            위치 : 절대 ;
            하단: 10px
            왼쪽 : -20px
            애니메이션: water-back-animation 3s 무한 이즈 인 아웃; /* 물 튀는 효과 */
            }
            #ad-1 li#워터프론트(
            너비 : 1200px
            높이 : 158px ;
            배경 이미지 : url( ../images/ad-1/waterfront.png) ;
            배경 반복 : 반복 x ;
            z-인덱스: 3 ;
            위치 : 절대 ;
            하단 : -70px ;
            왼쪽 : -30px
            애니메이션: water-front-animation 2s 무한 이즈 인 아웃; /* 또 다른 물 튀는 효과 - 약간 다릅니다. 약간의 관점을 제공하기 위해 이 애니메이션을 조금 더 빠르게 만들 것입니다. */
            }

            이제 보트와 모든 요소에 대한 스타일을 만들어 보겠습니다. 다시 적절한 애니메이션을 호출합니다.

            #ad-1 ul#보트(
            너비 : 249px ;
            높이: 215px
            z-인덱스: 2 ;
            위치 : 절대 ;
            하단: 25px
            왼쪽: 20px
            오버플로: 보이는
            애니메이션: 보트 인 애니메이션 3s 1 이즈아웃; /* 그룹을 처음으로 이동 */
            }
            #ad-1 ul#보트 리(
            너비 : 249px ;
            높이: 215px
            배경 이미지 : url (../images/ad-1/boat.png ) ;
            위치 : 절대 ;
            하단: 0px
            왼쪽: 0px
            오버플로: 보이는
            애니메이션: 보트 애니메이션 2s 무한 이지 인 아웃; /* 물 위에서 흔들리는 보트의 모방 - 유사한 애니메이션이 이미 물 자체에 사용되었습니다. */
            }
            #ad-1 #물음표(
            너비: 24px
            높이: 50px
            배경 이미지 : url( ../images/ad-1/question-mark.png) ;
            위치 : 절대 ;
            오른쪽 : 34px ;
            상단 : -30px ;
            애니메이션: 지연 페이드 애니메이션 4s 1 이즈 인 아웃; /* 물음표 숨기기 */
            }

            마지막으로 클라우드 그룹과 하나의 클라우드에 대한 스타일을 생성합니다. 또한 지속적인 스크롤 효과를 줄 멋진 애니메이션을 트리거할 것입니다. 다음은 어떤 일이 일어날지 보여줍니다.

            스타일은 다음과 같습니다.

            #ad-1 #구름(
            위치 : 절대 ;
            상단 : 0px ;
            Z-인덱스 : 0
            애니메이션: 클라우드 애니메이션 30년대 무한 선형; /* 구름을 왼쪽으로 무한히 이동 */
            }
            #ad-1 #cloud-group-1(
            너비 : 720px
            위치 : 절대 ;
            왼쪽: 0px
            }
            #ad-1 #cloud-group-2(
            너비 : 720px
            위치 : 절대 ;
            왼쪽 : 720px ;
            }
            #ad-1 .cloud-1(
            너비 : 172px
            높이 : 121px ;
            배경 이미지 : url (../images/ad-1 /cloud-1 .png) ;
            위치 : 절대 ;
            상단 : 10px ;
            왼쪽: 40px ;
            }
            #ad-1 .cloud-2(
            너비 : 121px ;
            높이: 75px
            배경 이미지 : url (../images/ad-1 /cloud-2 .png) ;
            위치 : 절대 ;
            상단 : -25px ;
            왼쪽: 300px
            }
            #ad-1 .cloud-3(
            너비 : 132px ;
            높이: 105px
            배경 이미지 : url (../images/ad-1 /cloud-3 .png) ;
            위치 : 절대 ;
            상단 : -5px ;
            왼쪽 : 530px ;
            }

            으윽! 여기에는 많은 CSS 코드가 있었습니다. 그러나 가장 흥미로운 것은 그 이상입니다!

            생기

            기억하십시오: 이 시점까지는 실제 애니메이션이 없었습니다. 지금 배너를 본다면 오래된 브라우저에서도 표시되는 정적 광고를 보게 될 것입니다. 에서지금CSS 코드에서 이미 호출한 애니메이션을 실제로 만들 것입니다.

            이제 배너가 제대로 표시되었으므로 이 정적 광고를 멋지게 꾸며봅시다! 코드로 바로 가보겠습니다. 어떤 일이 일어날지 댓글로 알려드리겠습니다.

            결론

            이 튜토리얼의 과정에서 우리는 이전 브라우저를 지원하는 애니메이션을 만들기 위한 핵심 사항을 배웠습니다.

            1. 자식 요소는 자체 애니메이션과 함께 부모의 애니메이션을 상속합니다. 이것을 사용하여 더 복잡한 애니메이션을 만들 수 있습니다.
            2. 광고 스타일의 경우 광고가 다른 사이트 스타일에 의해 무시되지 않도록 매우 구체적인 선택기를 사용해야 합니다.
            3. 애니메이션이 재생되지 않아도 광고가 보기 좋게 보이도록 요소의 스타일을 지정해야 합니다.
            4. 가능하면 여러 요소에 동일한 애니메이션을 사용하여 시간을 절약하고 코드 팽창을 방지합니다.
            5. 우리는 혐오와 분노에 주먹을 휘두르며 인터넷 익스플로러를 '18세기 브라우저'라고 부르곤 한다. :)

            CSS 실험에 행운을 빕니다.

            CSS3를 이용하여 광고 배너를 만들어 봅시다. 현재 Firefox 및 WebKit 브라우저만 CSS3 애니메이션을 완벽하게 지원합니다. 그러나 배너가 다른 브라우저에서 작동하도록 하는 것만으로도 충분합니다. 그러나 최신 CSS 기술을 실험하는 모든 곳(특히 IE 7 이상)에서 뛰어난 성능을 기대하지 마십시오.

            메모:페이지의 공간을 절약하기 위해 모든 브라우저 공급업체 접두사가 생략되었습니다. 소스 코드를 참조하십시오.

            HTML 마크업

            먼저 HTML에서 배너의 구조를 살펴보겠습니다. 이 시점에서 애니메이션이 어떻게 작동할지 상상해야 합니다.

            잃어버린?

            진정하세요 - 도와드리겠습니다.

            마크업 구조에 대한 더 깊은 이해를 위해 보트에 집중해 보겠습니다.

            보트와 함께 세 가지 애니메이션이 발생합니다.

              왼쪽에 보트의 슬립. 정렬되지 않은 목록(그룹)에 적용됩니다.

              물 위에서 흔들리는 보트의 시뮬레이션. 목록 항목(보트)에 적용됩니다.

              물음표의 등장. div 요소(물음표)에 적용됩니다.

            데모 페이지를 보면 목록 항목(보트)의 애니메이션이 그 안의 div 요소(물음표)에도 영향을 주는 것을 알 수 있습니다. 또한 순서가 지정되지 않은 목록의 "슬립" 애니메이션은 목록 항목(보트 및 물음표)에 영향을 줍니다.

            따라서 다음과 같이 결론을 내릴 수 있습니다. 자식 요소자신의 동작과 함께 부모 애니메이션을 수신합니다. 이제 부모/자식 구조를 열거하는 것만 남아 있습니다.

            CSS

            애니메이션 생성 분석을 시작하기 전에 다음을 제공해야 합니다. 이전 버전과 호환이전 브라우저와 함께.

            하위 호환성

            마크업을 CSS 애니메이션전혀 존재하지 않습니다. 누군가가 이전 브라우저에서 페이지를 보는 경우 빈 공백이 아닌 정상적인 정적 이미지가 표시됩니다.

            예: CSS를 사용해야 합니까? 아래와 같이 문제가 발생합니다.

            /* 적절하지 않다! */ @keyframe our-fade-in-animation ( 0% (opacity:0;) 100% (opacity:1;) ) div ( opacity: 0; /* 이 div는 기본적으로 숨겨져 있습니다. - 죄송합니다!*/ animation: 우리의 -fade-in-animation 1s 1; )

            브라우저가 애니메이션을 지원하지 않는 경우 div 요소는 사용자에게 보이지 않는 상태로 유지됩니다.

            이것이 우리가 이전 브라우저와의 역호환성을 보장하는 방법입니다.

            /* TRUE */ @keyframe our-fade-in-animation ( 0% (opacity:0;) 100% (opacity:1;) ) div ( opacity: 1; /* 이 div는 기본적으로 표시됩니다. */ animation: 우리의 -fade-in-animation 1s 1; )

            이제 애니메이션 실행에 실패하더라도 div 요소가 렌더링됩니다. 그리고 안에 최신 브라우저 div는 애니메이션 중에 먼저 숨겨집니다.

            기초

            이제 우리는 이전 버전과의 호환성을 보장하는 방법을 알고 있습니다(실제 프로젝트로 작업할 때 문제를 피하는 데 도움이 됨). 이제 CSS 코드의 기반을 만들 차례입니다.

            3가지 사항을 기억해야 합니다.

              배너는 다른 사이트에서 사용되기 때문에 우리는 모든 CSS 선택기를 특별하게 만들 것입니다.모두 #ad-1로 시작합니다. 따라서 우리는 코드와 사이트 코드가 겹치지 않도록 노력할 것입니다.

              우리는 의도적으로 애니메이션 지연을 무시합니다.설정에서. 기본 요소 가시성으로 스타일을 설정할 때 애니메이션 지연을 사용하면 애니메이션이 완료된 후 그림의 일부가 갑자기 사라지거나 나타나므로 배너 구조가 깨집니다. 애니메이션 지연은 지속 시간 및 프레임 설정으로 시뮬레이션됩니다.

              가능할 때 여러 요소에 하나의 애니메이션을 사용합니다.따라서 시간을 절약하고 코드 크기를 줄입니다.

            그래서 우리는 배너의 기초를 만듭니다. 내부 요소를 올바르게 배치할 수 있도록 상대 위치로 설정해 보겠습니다. 또한 요소 범위를 벗어나는 모든 것을 숨깁니다.

            #ad-1 (너비: 720px; 높이: 300px; float: 왼쪽; 여백: 40px auto 0; background-image: url(../images/ad-1/background.png); background-position: center; background -반복: 반복 없음, 오버플로: 숨김, 위치: 상대, 상자 그림자: 0px 0px 6px #000; )

            그런 다음 텍스트 및 입력 필드의 스타일을 설정합니다. 적절한 애니메이션을 호출합니다. 또한 콘텐츠가 겹치지 않도록 움직이는 부분에 대해 가장 높은 z-색인이 있는지 확인해야 합니다.

            #ad-1 #content ( 너비: 325px; float: right; margin: 40px; text-align: center; z-index: 4; position: relative; overflow: visible; ) #ad-1 h2 ( font-family: "Alfa Slab One", 필기체, 색상: #137dd5, 글꼴 크기: 50px, 선 높이: 50px, 텍스트 그림자: 0px 0px 4px #fff, 애니메이션: 지연 페이드 애니메이션 7s 1 easy-in-out; /* 가짜 지연으로 h2 표시 */ ) #ad-1 h3 ( font-family: "Boogaloo", cursive; color: #202224; font-size: 31px; line-height: 31px; text-shadow: 0px 0px 4px #fff; 애니메이션: 지연된 페이드 애니메이션 10초 1 이즈 인 아웃; /* 시뮬레이션된 지연과 함께 h3 표시 */ ) #ad-1 양식 ( 여백: 30px 0 0 6px; 위치: 상대; 애니메이션: 양식 애니메이션 12s 1 easy-in-out; /* 시뮬레이션된 지연이 있는 이메일 주소를 입력하기 위해 양식을 밀어서 */ ) #ad-1 #email ( 너비: 158px; 높이: 48px; float: 왼쪽; 패딩: 0 20px; font-size: 16px; font-family: "Lucida Grande", sans-serif; color: #fff; text-shadow: 1px 1px 0px #a2917d; border-top-left-radius: 5px; borde r-바닥-왼쪽-반경: 5px; 테두리:1px 솔리드 #a2917d; 개요: 없음; 상자 그림자: -1px -1px 1px #fff; 배경색: #c7b29b; 배경 이미지: 선형 그래디언트(하단, rgb(216,201,185) 0%, rgb(199,178,155) 100%); ) #ad-1 #email:focus ( background-image: linear-gradient(bottom, rgb(199,178,155) 0%, rgb(199,178,155) 100%); ) #ad-1 #submit ( 높이: 50px; float: 왼쪽 ; 커서: 포인터; 패딩: 0 20px; 글꼴 크기: 20px; 글꼴 패밀리: "Boogaloo", 필기체; 색상: #137dd5; 텍스트 그림자: 1px 1px 0px #fff; 테두리 상단 오른쪽 반경: 5px ; border-bottom-right-radius: 5px; border:1px solid #bcc0c4; border-left: 없음; background-color: #fff; background-image: linear-gradient(bottom, rgb(245,247,249) 0%, rgb( 255,255,255) 100%); ) #ad-1 #submit:hover ( background-image: linear-gradient(하단, rgb(255,255,255) 0%, rgb(255,255,255) 100%); )

            이제 물의 스타일을 지정하고 적절한 애니메이션을 호출해 보겠습니다.

            #ad-1 ul#water( /* 다른 물 애니메이션이 필요하면 여기에 추가할 수 있습니다. */ ) #ad-1 li#water-back ( 너비: 1200px; 높이: 84px; background-image: url(. . /images/ad-1/water-back.png); background-repeat: repeat-x; z-index: 1; 위치: 절대; 하단: 10px; 왼쪽: -20px; 애니메이션: water-back-animation 3s /* 튀는 파도의 모방 */ ) #ad-1 li#water-front ( 너비: 1200px; 높이: 158px; background-image: url(../images/ad-1/water) -전면 .png), 배경 반복: 반복 x, Z 인덱스: 3, 위치: 절대, 하단: -70px, 왼쪽:-30px, 애니메이션: water-front-animation 2s 무한 이즈 인 아웃, / * 다른 튀는 파도 애니메이션은 원근감 효과를 만들기 위해 조금 더 빠르게 실행됩니다. */ )

            보트 및 해당 요소의 스타일을 설정합니다. 적절한 애니메이션도 호출합니다.

            #ad-1 ul#boat ( 폭: 249px; 높이: 215px; Z-색인: 2; 위치: 절대; 하단: 25px; 왼쪽: 20px; 오버플로: 가시적; 애니메이션: 보트인애니메이션 3s 1 이즈아웃 ; /* 광고가 시작될 때 그룹을 밀어 넣습니다. */ ) #ad-1 ul#boat li ( 너비: 249px; 높이: 215px; background-image: url(../images/ad-1/boat.png); position: absolute; bottom: 0px; left: 0px; overflow: visible; animation: boat-animation 2s Infinity easy-in-out; /* 물 위에서 보트가 흔들리는 것을 시뮬레이션 - 물 자체에 이미 사용된 애니메이션과 유사합니다. */ ) #ad-1 #question-mark ( 너비: 24px; 높이: 50px; background-image: url(../images/ad-1/question-mark.png); 위치: 절대; 오른쪽: 34px; 상단: -30px, 애니메이션: 지연 페이드 애니메이션 4s 1 이즈 인 아웃, /* 물음표 페이드 인 */ )

            이제 구름의 스타일을 만들어 보겠습니다. 그들을 위해 우리는 끝없는 움직임의 효과와 함께 애니메이션을 사용할 것입니다. 그림은 아이디어의 본질을 보여줍니다.

            다음은 CSS 코드입니다.

            #ad-1 #clouds ( 위치: 절대; 상단: 0px; z-색인: 0; 애니메이션: cloud-animation 30s 무한 선형; /* 구름을 왼쪽으로 스크롤하고 재설정하고 반복합니다. */ ) #ad-1 #cloud-group -1 ( 너비:720px; 위치: 절대; 왼쪽:0px; ) #ad-1 #cloud-group-2 ( 너비: 720px; 위치: 절대; 왼쪽: 720px; ) #ad-1 .cloud-1 ( 너비 : 172px; 높이: 121px; 배경 이미지: url(../images/ad-1/cloud-1.png); 위치: 절대; 상단: 10px; 왼쪽: 40px; ) #ad-1 .cloud-2 ( 너비: 121px; 높이: 75px; 배경 이미지: url(../images/ad-1/cloud-2.png); 위치: 절대; 상단: -25px; 왼쪽: 300px; ) #ad-1 . 클라우드-3 (폭: 132px; 높이: 105px; 배경 이미지: url(../images/ad-1/cloud-3.png); 위치: 절대; 상단: -5px; 왼쪽: 530px; )

            애니메이션

            알림:이 시점부터 실제로 애니메이션되는 것은 없습니다. 지금 배너를 보시면 정지된 이미지를 보실 수 있습니다. 위의 코드에서 호출된 애니메이션이 생성되는 곳입니다.

            이제 아름다운 정적 이미지에 생기를 불어넣어 보겠습니다.

            /* 시뮬레이션된 지연이 있는 애니메이션은 여러 요소를 표시하는 데 사용됩니다. 지연 시뮬레이션은 애니메이션의 80%가 계속되는(즉시가 아니라) 프로세스를 시작하여 수행됩니다. 지연을 시뮬레이션할 수 있는 방법은 다음과 같습니다. */ @keyframes delay-fade-animation ( 0% (불투명도: 0;) 80% (불투명도: 0;) 100% (불투명도: 1;) ) /* 표시를 위한 애니메이션 와 형태 이메일 주소및 버튼. 또한 시뮬레이션된 지연을 사용합니다. */ @keyframes form-animation ( 0% (불투명도: 0; 오른쪽: -400px;) 90% (불투명도: 0; 오른쪽: -400px;) 95% (불투명도: 0.5; 오른쪽: 20px; ) 100% (불투명도: 1; 오른쪽: 0px;) ) /* 이 애니메이션은 비디오 시작 부분에서 보트를 화면 밖으로 가져오는 데 사용됩니다. */ @keyframes boat-in-animation ( 0% (왼쪽: -200px;) 100% (left : 20px;) ) /* 구름에 대한 애니메이션. 첫 번째 구름 그룹은 중앙에서 움직이기 시작하고 두 번째 그룹은 화면 오른쪽으로 이동합니다. 첫 번째 그룹이 화면에서 천천히 제거되고 두 번째 그룹이 오른쪽에 나타납니다. 왼쪽 그룹이 완전히 숨겨지면 구름은 빠르게 원래 위치로 돌아갑니다. */ @keyframes cloud-animation ( 0% (left: 0px;) 99.9999% (left: -720px;) 100% (left: 0px; ) ) / * 마지막 세 애니메이션은 거의 동일합니다. 차이점은 요소의 위치에 있습니다. 그들은 파도가 튀는 것을 모방합니다. */ @keyframes boat-animation ( 0% (하단: 0px; 왼쪽: 0px;) 25% (하단: -2px; 왼쪽: -2px;) 70% (하단: 2px; 왼쪽) : - 4px;) 100% (하단: -1px; 왼쪽: 0px;) ) @keyframes water-back-animation ( 0% (하단: 10px; 왼쪽: -20px;) 25% (하단: 8px; 왼쪽: - 22픽셀; ) 70% (하단: 12픽셀; 왼쪽: -24픽셀;) 100% (하단: 9픽셀; 왼쪽: -20픽셀;) ) @keyframes water-front-animation ( 0% (하단: -70픽셀; 왼쪽: -30픽셀) ;) 25%(하단: -68픽셀, 왼쪽: -32픽셀;) 70%(하단: -72픽셀, 왼쪽: -34픽셀;) 100%(하단: -69픽셀, 왼쪽: -30픽셀;) )

            결론

            이 단원에서는 몇 가지 주요 개념을 배웠습니다.

            1. 하위 요소는 애니메이션과 함께 상위 요소의 애니메이션을 받습니다.
            2. 배너를 만들 때 기존 CSS 프로젝트와 코드가 겹치지 않도록 고유한 ID를 사용하도록 노력해야 합니다.
            3. 이전 버전과의 호환성을 보장하기 위해 애니메이션을 사용할 수 없는 것처럼 요소를 배치하고 스타일을 지정해야 합니다.
            4. 가능하면 여러 요소에 대해 하나의 애니메이션을 사용해야 합니다.

            의심할 여지 없이 가장 밝은 것 중 하나 2012년 트렌드에 대한 개발입니다 CCS3, HTML5. 오늘 우리는 크고 매우 유용한 개요예" 20+: 창의적이고 유용한 CSS3 자습서″에 제공 얼룩덜룩 한 소년. 모든 예제는 JavaScript 없이 청소, 제시된 수업에는 다운로드할 수 있는 데모 및 기성 CSS3 파일이 있습니다.

            우리는 이러한 트릭과 기술이 웹 개발자에게 유용할 것이라고 확신합니다!

            CSS3 수업 :

            1. CSS3 사진 갤러리, 슬라이더, 이미지 효과

            1.1.CSS3 슬라이더

            믿기 ​​어렵지만 다양한 효과를 가진 이 슬라이더는 CSS3 전용으로 제작되어 매우 인상적입니다.

            1.2. CSS3 슬라이더 효과가 있는 전체 화면 웹 사이트 배경

            웹 디자이너는 오랫동안 웹 사이트에 대해 다양한 배경을 실험해 왔지만 지금까지는 순수 CSS거의 할 수 없었고 JS를 사용해야 했습니다. 이제 CSS3를 사용하면 사이트의 배경을 원하는 대로 처리할 수 있습니다. 하나의 배경에 큰 고화질 사진이 있을 수 있고, 여러 배경을 다양한 효과로 변경할 수 있으며, 화면 매개변수에 따라 배경 확장성을 사용할 수 있습니다. 일반적으로 창의적인 사이트에 대한 놀라운 기회입니다.

            1.3. CSS3의 라이트박스

            이 튜토리얼을 통해 순수 CSS에 다양한 효과가 있는 라이트박스(Lightbox)를 만드는 방법을 배울 수 있습니다.

            1.4. CSS3 이미지 속성

            이 튜토리얼은 둥근 모서리, 그림자 및 기타 효과와 같은 이미지 속성에 대한 새로운 CSS3 기능을 보여줍니다.

            1.5. 애니메이션 CSS3 배너

            1.6.CSS3 로딩 바

            1.7. CSS3가 포함된 3D 리본

            데모 보기 또는 CSS3 코드 파일 다운로드 →

            2. CSS3 메뉴, 탐색 및 버튼

            2.1. CSS3의 Apple.com 메뉴

            CSS3에서 유명한 Apple.com 메뉴를 만들기 위한 튜토리얼.

            2.2. 애니메이션 CSS3 가로 메뉴

            다양한 효과로 애니메이션 CSS3 메뉴를 만드는 방법을 보여주는 간단한 자습서입니다.

            2.3. CSS3의 애니메이션 세로 메뉴

            2.4. 애니메이션 CSS3 버튼

            애니메이션 크리에이티브 버튼의 7가지 예가 있는 훌륭한 튜토리얼.

            2.5. CSS3 이미지가 포함된 크리에이티브 애니메이션 메뉴

            이 수업에서는 제시된 10가지 예에서 눈이 번쩍 뜨입니다. 이러한 복잡한 크리에이티브 메뉴는 JS의 도움으로 독점적으로 만들어졌습니다. 감동적인!

            2.6. CSS3를 사용한 원형 탐색 효과

            이미지가 있는 원 형태로 선택한 탐색 항목 위로 마우스를 가져가면 비정상적인 효과가 나타납니다. 우리는 참고!

            2.7. CSS3의 드롭다운 메뉴

            CSS3에서 하위 수준이 있는 간단한 드롭다운 메뉴를 구현하기 위한 자습서입니다.

            2.8. 애니메이션 전환이 있는 CSS3 탐색

            3. CSS3에 대한 다양한 효과

            3.1. jQuery가 없는 애니메이션 CSS3 툴팁