안녕하세요, 저는 로그인 양식을 디자인하려고했지만 버튼에는 약간의 전환 효과가 필요합니다.CSS를 사용하여 전환 후 요소를 숨기기
하나의 복잡성이 있습니다.
배경 : 주요 컨테이너 패딩 (왼쪽 및 오른쪽)이없는 방법 original form
통지, 지금 내 데모 패딩이 남아있는 것이 중요했다이 : 내가 원래 여기에서이 아이디어를 복사 문제를 만든다 (더 설명 할 것이다).
지금을 heres 내 데모 :My version of login form (나는 내 문제 아래에 관련된 코드를 붙여 넣을 수 있습니다 CSS 코드의 108 개 라인을 무서워하지 않습니다). 다음과 같이
그래서 코드 먹으 렴이 문제에 revevant은 다음과 같습니다
HTML 코드 :
<button class="login-button"><span>SEND</span></button>
CSS 코드 : 내가 CSS 스타일에 가면 지금
.login-button{
width: 100%;
outline: none;
border:none;
cursor: pointer;
padding: 0;
margin:0;
transition:.3s;
}
.login-input , .login-button{
height: 50px;
line-height: 40px;
transition:.3s;
}
.login-button span{
display: block;
background:red;
height: 100%;
width: 100%;
left: 0;
transition:.3s;
position: relative;
}
.login-button span:before{
content: 'ok';
position: absolute;
left: 100%;
display: block;
}
.login-button:hover span:before{
content: 'OK To go now';
position: absolute;
/*left: 0%;*/
text-align: center;
display: block;
width: 100%;
height: 100%;
}
주 용기 용 :
IE
.main-login{
min-width: 200px;
max-width: 400px;
background: #533e69;
margin: 100px auto;
text-align: center;
overflow: hidden;
box-shadow: 1px 1px 10px rgba(0,0,0,.2);
padding: 0 20px;
}
패딩을 벗으십시오. BHAM !!!! 문제가 해결되고 전환이 완벽 해 보입니다.
인한 문제 :
내 요구 사항은 버튼 위에 마우스와 스팬 요소가 left:-100%
이동할 때 그래서 지금 무슨 일이 주요 컨테이너는 여전히 볼 수 있습니다, 내가 그 패딩이 필요하다는 등이다.
솔루션
내가이 문제는 내가하지 eally 링크 어수선 않습니다으로 CSS에서 해결 될 수있는 경우잘 내가 그것을 싶습니다 제안 내 문서의 JS와. 어떻게 이것에 대해 :
내 솔루션 덜 우아한 될 수 있도록 전, CSS 새로운 오전 :
버튼 위에 맴돌고, 스팬 오버 left:-100%
이와 스팬이 display:none
로 설정 될 수있는 경우보다 간단한 소리 ,하지만 CSS의 제한된 지식은 나를 여기 붙어있어.
글쎄, 누군가 내게 더 좋은 해결책을 줄 수 있다면 내 문제를 잘 요약했으면 좋겠다.
감사합니다.
알렉산드.
.nav a {
-webkit-transition: color .2s, text-shadow .2s;
/* And so on... */
}
용이성은 기본, 그래서 당신은 그것을 지정할 필요가 없습니다 :
아마 기본 컨테이너에 overflow : hidden을 추가해야합니다. – Slime
당신은 CSS로 completly 또는 JavaScript로 completly 해결해야합니다. 전환이 완료 될 때 이벤트가 없으므로 CSS로 전환하고 JS로 숨길 수 없습니다. – maja
@slime은 실제로는 아니지만 CSS를 사용하여 도울 수는 없습니다. 기본 컨테이너에 이미 해당 속성이 있습니다. 스팬이 남았을 때 : -100 %, 주 컨테이너 내부에도 여전히 있습니다. –