2010-07-08 4 views
1

내 asp.net 2.0 웹 양식에 jquery client side validation을 사용하려고합니다. 정상적인 입력 제출 버튼을 클릭하면 쉽게 유효성 검사가 시작될 수 있습니다.그라디언트 배경 및 배경 이미지로 버튼을 만드는 방법은 무엇입니까?

하지만 현재이 페이지에 대해 3 개의 div로 구성된 이미지 버튼을 사용하고 있으므로 자동으로 유효성 검사가 실행되지 않습니다.

나는 css3을보고 있었고 이제는 그라디언트를 지원한다는 것을 알았습니다. 버튼 오른쪽에 화살표 이미지를 표시해야한다는 점을 제외하고는 모든 것이 좋고 좋습니다.

정상적인 배경 이미지와 배경색으로 테스트하여 버튼을 설정하면 작동합니다. 하지만 나는 그라데이션 배경과 배경 이미지를 위해 똑같은 일을하는 것처럼 보이지 않습니다.

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid Sans"> 
<style> 
.button{ 
    -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(0.25, rgb(88,73,229)), 
    color-stop(0.63, rgb(115,103,255)), 
    color-stop(0.82, rgb(150,134,255)) 
); 
-moz-linear-gradient(
    center bottom, 
    rgb(88,73,229) 25%, 
    rgb(115,103,255) 63%, 
    rgb(150,134,255) 82% 
); 

    color:#FCD3A5; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 10px; 
    font: 12px; 
    width:140px; 
    line-height: 28px; 
    height: 28px; 
    font-weight: bold; 
    font-family:"Droid Sans",serif; 
} 

.orange{ 
    background:-moz-linear-gradient(center top , #FF9300, #FF6800) repeat scroll 0 0 transparent; 
    border:1px solid #CFCFCF; 
    color:#FFFFFF; 
    font: 12px; 
    width:140px; 
    line-height: 28px; 
    height: 28px; 
    font-family:"Droid Sans",serif; 
    background-image:url(arrow_right.png); 
    background-repeat: no-repeat; 
    background-position:right; 

} 

.button2{ 
    background-color:#2daebf; 
    background-image:url(arrow_right.png); 
    font: 12px; 
    width:140px; 
    line-height: 28px; 
    height: 28px; 
    font-weight: bold; 
    color: white; 
    font-family:"Droid Sans",serif; 
    background-repeat: no-repeat; 
    background-position:120px; 
    border: 0px; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 10px; 
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25); 
} 
.button3{ 
    background: green; /* fallback for older/unsupporting browsers */ 
    background:-webkit-gradient(
     linear, 
     left bottom, 
     left top, 
     color-stop(0.25, rgb(88,73,229)), 
     color-stop(0.63, rgb(115,103,255)), 
     color-stop(0.82, rgb(150,134,255)) 
    ); 
    background:-moz-linear-gradient(
     center bottom, 
     rgb(88,73,229) 25%, 
     rgb(115,103,255) 63%, 
     rgb(150,134,255) 82% 
    ); 
    border-top: 1px solid white; 
    background-image:url(arrow_right.png); 
    background-repeat: no-repeat; 
    background-position:120px; 

} 

</style> 
</head> 
<input class="button3" type="submit" value="SUBMIT"/ > 
</html> 

어떤 아이디어가 있습니까?

+0

할 수 없습니까? 내 생각 엔 주변에서 확인한 결과 몇 가지 관련 질문을 찾았습니다. 하지만 지금까지 아무 해결책 : ( – melaos

답변

0

는 할 수 없습니다 : see this article

모질라는 현재뿐만 아니라 속기 배경 내에서 배경 이미지 속성의 값으로 CSS 그라데이션을 지원합니다. 이미지 URL 대신 그라디언트 값을 지정합니다.

분명히 webkit (safari/chrome)은 아마도 같은 방식입니다. IE는 그라디언트를 지원하지 않습니다.

내 제안은 div 요소에 제출 버튼을 래핑하는 것입니다. 제출 버튼에 그래디언트를 적용하고 배경 이미지를 div에 적용하고 필요할 때마다 적절한 여백을 추가합니다. 또는 제출 버튼에 <label> 요소를 사용하고 배경 이미지를 라벨에 적용하십시오.

+0

실제로 그 버튼을 가지고, 그것은 프로그래밍 문제보다 코딩 문제가 아니에요. 그냥 대부분의 jquery 플러그인이 기본적으로이 동작을 지원하는 것처럼 제출 단추가 프로그래밍 방식으로 동작 할 때 쉽게 찾을 수 있습니다. . – melaos

+0

당신이 의미하는 바를 잘 모르겠다. 여전히 제출 버튼을 가지고 원하는대로 스타일을 지정할 수 있으며, 여전히 작동 할 것입니다. div 래퍼 또는 레이블 요소는 기능에 영향을 미치지 않습니다. . 만약 내가 당신이 말하는 것을 오해하고 있다면 알려주세요. – desertwebdesigns

+0

실제 제출 버튼이 아닐 때 joverery 클라이언트 측 유효성 검사를 올바르게 트리거하는 클릭 동작과 마우스를 올리면 적절한 결과를 얻을 수 없습니다. 일반적으로 직접 유효성 검사를 호출하거나 .click ($ ("# formID"). 제출() 해결 방법을 넣어 야합니다. – melaos

1

Google의 Gmail/문서 도구/기타 UI 버튼은 일부 CSS 트릭을 사용하여이를 수행합니다.

http://todc.github.com/css3-google-buttons/#button

은 기본적으로 버튼이 실제 HREF 앵커 적용된 그라디언트 <a> : 현재 다른 사람의 구현을 볼 수 있습니다. 그리고 ::before psuedo-selector를 사용하여 배경을 이미지로 설정하는 별도의 스타일이 있습니다. 다시 구현하는 것은 약간 까다 롭지 만 분명히 가능합니다.

관련 문제