Divi에서 양식 필드에 부동 레이블을 추가하는 방법

게시 됨: 2021-06-21

Divi의 양식 필드에 부동 레이블을 추가하면 모든 Divi 양식의 디자인과 UX를 미묘하면서도 강력한 방식으로 향상시킬 수 있습니다. Divi뿐만 아니라 모든 웹 사이트 양식에는 일반적으로 일종의 입력 필드와 해당 입력 필드에 대한 레이블이 포함됩니다. 예를 들어, 양식에는 텍스트(또는 이름)를 입력할 수 있는 이름에 대한 텍스트 입력 필드와 해당 필드의 입력 상자에 대한 레이블(예: "이름")이 있을 수 있습니다. 이 레이블은 양식 스타일에 따라 표시되거나 숨겨질 수 있습니다. 레이블 외에도 입력 필드에는 사용자가 입력 값을 입력할 때까지 표시되는 입력 필드 내에서 일종의 임시 레이블 역할을 하는 자리 표시자 의사 요소도 포함될 수 있습니다. Divi에서 기본 디자인은 레이블 요소를 숨기고 자리 표시자 텍스트만 표시합니다. Divi 양식에 부동 레이블을 추가하면 디자이너가 "자리 표시자 전용" 양식 스타일의 세련된 느낌을 유지하고 사용자가 값을 추가할 때마다 필드 위에 레이블을 표시(또는 부동)할 수 있습니다.

이 자습서에서는 Divi 이메일 옵션 양식에 부동 레이블을 추가하는 방법을 보여줍니다. 이를 위해 Divi 빌더를 사용하여 이메일 옵션 양식을 디자인할 것입니다. 그런 다음 사용자가 필드에 집중할 때 숨겨진 레이블을 보기에 띄우기 위해 몇 가지 사용자 정의 CSS 및 JQuery를 추가합니다.

시작하자!

엿보기

다음은 이 튜토리얼에서 구축할 디자인을 간략하게 살펴보겠습니다.

무료로 레이아웃 다운로드

이 튜토리얼의 디자인을 손에 넣으려면 먼저 아래 버튼을 사용하여 다운로드해야 합니다. 다운로드에 액세스하려면 아래 양식을 사용하여 Divi Daily 이메일 목록에 가입해야 합니다. 신규 구독자는 매주 월요일에 더 많은 Divi 혜택과 무료 Divi 레이아웃 팩을 받게 됩니다! 이미 목록에 있는 경우 아래에 이메일 주소를 입력하고 다운로드를 클릭하기만 하면 됩니다. "재구독"되지 않거나 추가 이메일을 받지 않습니다.

파일 다운로드
무료로 다운로드

무료로 다운로드

Divi 뉴스레터에 가입하면 최고의 Divi 랜딩 페이지 레이아웃 팩과 수많은 놀라운 무료 Divi 리소스, 팁 및 요령을 이메일로 보내드립니다. 따라하시면 ​​금세 Divi 마스터가 되실 것입니다. 이미 구독한 경우 아래에 이메일 주소를 입력하고 다운로드를 클릭하여 레이아웃 팩에 액세스하십시오.

성공적으로 구독했습니다. 이메일 주소를 확인하여 구독을 확인하고 무료 주간 Divi 레이아웃 팩에 액세스하세요!

https://youtu.be/j1m14XFztdc

YouTube 채널 구독

섹션 레이아웃을 Divi 라이브러리로 가져오려면 Divi 라이브러리로 이동하십시오.

가져오기 버튼을 클릭합니다.

이식성 팝업에서 가져오기 탭을 선택하고 컴퓨터에서 다운로드 파일을 선택합니다.

그런 다음 가져오기 버튼을 클릭합니다.

divi 알림 상자

완료되면 섹션 레이아웃을 Divi Builder에서 사용할 수 있습니다.

튜토리얼로 들어가 볼까요?

시작하는 데 필요한 것

확장 코너 탭

시작하려면 다음을 수행해야 합니다.

  1. 아직 설치하지 않았다면 Divi 테마를 설치하고 활성화하십시오.
  2. WordPress에서 새 페이지를 만들고 Divi Builder를 사용하여 프런트 엔드(비주얼 빌더)에서 페이지를 편집합니다.
  3. "처음부터 빌드" 옵션을 선택합니다.

그런 다음 Divi에서 디자인을 시작할 수 있는 빈 캔버스가 생깁니다.

Divi의 양식 필드에 부동 레이블 추가

이메일 옵틴 양식 작성

Divi Builder의 기본 섹션에 1열 행을 추가합니다.

양식 필드의 divi 부동 레이블

열에 이메일 옵틴 양식을 추가합니다.

양식 필드의 divi 부동 레이블

이메일 Optin 설정 모달을 엽니다. 콘텐츠 탭에서 제목 텍스트를 업데이트하고 본문 텍스트를 삭제합니다.

양식 필드의 divi 부동 레이블

이메일 계정 서비스 제공업체를 연결해야 합니다. 그렇지 않으면 이메일 선택이 라이브 페이지에 표시되지 않습니다.

양식 필드의 divi 부동 레이블

다음으로 이메일 옵션에 다음 배경색을 추가합니다.

  • 배경색: #1f4b74

양식 필드의 divi 부동 레이블

디자인 탭에서 양식 레이아웃을 업데이트합니다.

  • 레이아웃: 상단에 본체, 하단에 양식

양식 필드의 divi 부동 레이블

그런 다음 다음과 같이 필드 스타일을 업데이트합니다.

  • 필드 배경색: 투명
  • 필드 텍스트 색상: #ffffff
  • 필드 여백: 1.5em 상단
  • 필드 패딩: 위쪽 0.5em, 아래쪽 0.5em, 왼쪽 1em, 오른쪽 1em
  • 필드 텍스트 크기: 1.2em
  • 필드 줄 높이: 2em

양식 필드의 divi 부동 레이블

다음으로 필드 테두리 스타일을 업데이트합니다.

  • 모서리가 둥근 필드: 0px
  • 필드 하단 테두리 너비: 2px
  • 필드 하단 테두리 색상: #ffffff

양식 필드의 divi 부동 레이블

Title 글꼴 스타일도 업데이트해 보겠습니다.

  • 제목 글꼴 두께: 굵게
  • 제목 글꼴 스타일: TT
  • 제목 텍스트 정렬: 가운데

양식 필드의 divi 부동 레이블

이제 버튼의 스타일을 지정해 보겠습니다.

  • 버튼에 사용자 정의 스타일 사용: 예
  • 버튼 텍스트 색상: #1f4b74
  • 버튼 배경색: #ffffff
  • 버튼 문자 간격: 0.1em
  • 버튼 글꼴 두께: 굵게
  • 버튼 글꼴 스타일: TT

양식 필드의 divi 부동 레이블

마지막 디자인 사용자 지정을 위해 다음과 같이 양식에 최대 너비와 패딩을 추가해 보겠습니다.

  • 최대 너비: 500px
  • 패딩: 위쪽 5%, 아래쪽 5%, 왼쪽 3%, 오른쪽 3%

양식 필드의 divi 부동 레이블

마지막으로 다음 단계에서 CSS 및 JQuery 코드로 대상을 지정할 수 있도록 모듈에 CSS 클래스를 추가해야 합니다.

양식 필드의 divi 부동 레이블

사용자 정의 코드 추가

사용자 정의 CSS 및 JQuery를 추가하려면 이메일 수신 동의 양식 모듈 아래에 코드 모듈을 추가하십시오.

양식 필드의 divi 부동 레이블

CSS

코드 콘텐츠 상자에 다음 CSS를 붙여넣고 CSS를 필요한 스타일 태그로 래핑합니다.

.et-float-labels p {
  position: relative !important;
}

.et-float-labels .et_pb_contact_form_label {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 1em;
  padding: 0 1em;
  transform: translateY(0%);
  transform-origin: left;
  color: #ffffff;
  font-size: 1.2em;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

.et-float-labels .et_pb_contact_form_label.active {
  visibility: visible;
  opacity: 0.6;
  top:0;
  transform: translateY(-100%) scale(0.9);
}

.et_pb_module.et-float-labels form p .input::-webkit-input-placeholder {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.et_pb_module.et-float-labels form p .input::-moz-placeholder {
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.et_pb_module.et-float-labels form p .input:-ms-input-placeholder {
  -ms-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.et_pb_module.et-float-labels form p .input:-moz-placeholder {
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}  
.et_pb_module.et-float-labels form p .input::placeholder {
  transition: all 0.4s ease-in-out;
}

.et_pb_module.et-float-labels form p .input:focus::-webkit-input-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus::-moz-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus:-moz-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus:-ms-input-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus::placeholder {
  color: transparent !important;
}

양식 필드의 divi 부동 레이블

제이쿼리

끝 스타일 태그 아래에 다음 JQuery를 붙여넣고 필요한 스크립트 태그로 래핑합니다.

jQuery(document).ready(function ($) {
  var $floatLabelInput = $(".et-float-labels .input");
  $floatLabelInput.on("focus", function (e) {
    $(e.target).prev().addClass("active");
    e.stopPropagation();
  });
  $floatLabelInput.on("blur", function (e) {
    if (!$(e.target).val()) {
      $(e.target).prev().removeClass("active");
    } else {
      $(e.target).prev().addClass("active");
    }
  });
});

양식 필드의 divi 부동 레이블

코드 분해

CSS 정보

먼저 필드를 대상으로 지정하고 필드(또는 p 요소) 내에서 레이블 요소에 절대 위치를 지정할 수 있도록 필드에 상대 위치를 지정합니다.

.et-float-labels p {
  position: relative !important;
}

다음으로, 배치 텍스트와 겹치도록 레이블 텍스트를 배치하는 다른 스타일로 양식 및 절대 위치에 레이블 요소를 제공합니다. display:block은 레이블을 표시할 준비가 되도록 기본 display:hidden 속성을 재정의합니다. 그런 다음 가시성을 숨기고 숨깁니다.

.et-float-labels .et_pb_contact_form_label {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 1em;
  padding: 0 1em;
  transform: translateY(0%);
  transform-origin: left;
  color: #ffffff;
  font-size: 1.2em;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  z-index: 0;
}

그런 다음 JQery가 제어하는 ​​"활성" 클래스를 받으면 위쪽 슬라이드 애니메이션으로 레이블을 표시, 크기 조정 및 번역(이동)합니다.

.et-float-labels .et_pb_contact_form_label.active {
  visibility: visible;
  opacity: 0.6;
  top:0;
  transform: translateY(-100%) scale(0.9);
}

CSS의 나머지 부분은 전환으로 자리 표시자를 숨기는 것입니다. 각 브라우저는 자리 표시자 의사 요소를 대상으로 하는 다른 접두사를 필요로 하기 때문에 이 작업을 수행하는 데 많은 줄이 있습니다. 그러나 아이디어는 간단합니다. 자리 표시자의 색상을 투명하게 변경합니다.

.et_pb_module.et-float-labels form p .input::-webkit-input-placeholder {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.et_pb_module.et-float-labels form p .input::-moz-placeholder {
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.et_pb_module.et-float-labels form p .input:-ms-input-placeholder {
  -ms-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.et_pb_module.et-float-labels form p .input:-moz-placeholder {
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}  
.et_pb_module.et-float-labels form p .input::placeholder {
  transition: all 0.4s ease-in-out;
}

.et_pb_module.et-float-labels form p .input:focus::-webkit-input-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus::-moz-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus:-moz-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus:-ms-input-placeholder {
  color: transparent !important;
}
.et_pb_module.et-float-labels form p .input:focus::placeholder {
  color: transparent !important;
}

제이쿼리에 대하여

먼저 $floatLabelInput 변수를 각 양식 필드의 입력 요소로 정의합니다.

  var $floatLabelInput = $(".et-float-labels .input");

그런 다음 입력 요소에 포커스가 있을 때마다 레이블 요소(입력 요소의 이전 형제)에 클래스("활성")를 추가하는 함수와 함께 포커스 이벤트 핸들러를 사용합니다. "활성" 클래스가 레이블에 추가되면 레이블이 표시되고 크기가 조정되고 해당 CSS가 있는 입력 위의 위치로 이동됩니다.

  $floatLabelInput.on("focus", function (e) {
    $(e.target).prev().addClass("active");
    e.stopPropagation();
  });

마지막으로 레이블에 "활성" 클래스를 유지할 시기를 결정하는 함수와 함께 blur 이벤트 핸들러를 사용합니다. 입력에 값이 없으면 입력 필드에 포커스가 없을 때에도 활성 상태를 유지합니다. 값이 없으면 클래스가 제거되고 필드의 기본 상태가 반환됩니다.

  $floatLabelInput.on("blur", function (e) {
    if (!$(e.target).val()) {
      $(e.target).prev().removeClass("active");
    } else {
      $(e.target).prev().addClass("active");
    }
  });

"클릭" 대신 "포커스" 및 "흐림 효과" 이벤트 핸들러를 사용하여 클래스를 추가 및 제거하면 사용자가 키보드만 사용하여 탐색하는 경우에도(즉, 필드를 순환하기 위해 탭을 누름) 효과를 볼 수 있습니다.

최종 결과

다음은 Divi 이메일 옵션 양식의 양식 필드에 있는 부동 레이블의 최종 결과입니다.

마지막 생각들

Divi 양식에 부동 레이블을 추가하는 것은 그리 어렵지 않습니다. 이메일 옵션 양식(또는 모든 Divi 양식)을 디자인하는 것은 놀라울 정도로 쉽습니다. 그러나 부동 레이블을 추가할 때 부동 레이블을 위한 적절한 공간을 남기기 위해 양식 필드의 크기와 간격을 사용자 지정해야 합니다. 그런 다음 사용자가 필드에 초점을 맞출 때 사용자 지정 CSS를 사용하여 자리 표시자를 효과적으로 숨기거나 표시합니다. 각 브라우저는 자리 표시자 의사 요소를 대상으로 하기 위해 서로 다른 접두사를 필요로 하므로 이러한 접두사를 올바르게 지정하는 것이 중요합니다. 우리가 추가한 JQuery는 필요할 때 뷰에 띄울 레이블 요소의 클래스를 추가 및 제거합니다. 대체로 사용자 경험에 추가되는 견고한 마이크로인터랙션입니다.

다른 Divi 양식(예: 로그인 또는 문의 양식)에서도 이 동일한 프로세스를 자유롭게 사용하십시오. 사용자 정의 코드를 추가하기 전에 양식에 사용자 정의 클래스를 추가하는 것을 잊지 마십시오. 그런 다음 양식 필드의 디자인 설정을 조정하여 부동 레이블을 위한 충분한 공간이 있는지 확인해야 할 수 있습니다.

댓글로 여러분의 의견을 기다리겠습니다.

건배!