이전에 잘라낸 이미지에 대한 수학을 따르고 거기에 내 이미지를 넣었지만 공백으로 표시됩니다. 문제가 어디에 있는지 말해 줄 수 있습니까?
#paymentForm {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
background-color: #f9f9f7;
border: 1px solid #fff;
height: auto;
padding: 13px 20px;
margin-top:30px;
width: 287px;
}
#paymentForm span{color: #555555; font-size: 11px}
#paymentForm li {
margin: 8px 0;
}
#paymentForm label {
color: #555;
display: block;
font-size: 14px;
font-weight: 400;
}
#paymentForm input[type=text]{
background-color: #fff;
border: 1px solid #e5e5e5;
color: #333;
display: block;
font-size: 18px;
height: 32px;
padding: 0 5px;
width: 275px;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
}
#paymentForm input::-webkit-input-placeholder {
color: #ddd;
}
#paymentForm input:-moz-placeholder {
color: #ddd;
opacity: 1;
}
#paymentForm input::-moz-placeholder {
color: #ddd;
opacity: 1;
}
#paymentForm input:-ms-input-placeholder {
color: #ddd;
}
#paymentForm input:focus {
outline: 1px solid #3388dd;
}
#paymentForm #card_number {
background-image: url(https://i.stack.imgur.com/nGINL.png), url(https://i.stack.imgur.com/nGINL.png);
background-position: 2px -121px, 260px -61px;
background-size: 120px 361px, 120px 361px;
background-repeat: no-repeat;
padding-left: 54px;
width: 225px;
height: 20px;
}
#paymentForm #card_number.visa {
background-position: 2px -163px, 260px -61px
}
#paymentForm #card_number.visa_electron {
background-position: 2px -205px, 260px -61px
}
#paymentForm #card_number.mastercard {
background-position: 2px -247px, 260px -61px
}
#paymentForm #card_number.maestro {
background-position: 2px -289px, 260px -61px
}
#paymentForm #card_number.discover {
background-position: 2px -331px, 260px -61px
}
#paymentForm #card_number.valid.visa {
background-position: 2px -163px, 260px -87px
}
#paymentForm #card_number.valid.visa_electron {
background-position: 2px -205px, 260px -87px
}
#paymentForm #card_number.valid.mastercard {
background-position: 2px -247px, 260px -87px
}
#paymentForm #card_number.valid.maestro {
background-position: 2px -289px, 260px -87px
}
#paymentForm #card_number.valid.discover {
background-position: 2px -331px, 260px -87px
}
#paymentForm #card_number.amex {
background-position: 2px -373px, 260px -61px;
}
#paymentForm #card_number.valid.amex {
background-position: 2px -373px, 260px -87px;
}
<div id="paymentForm">
<input type="text" name="card_number" id="card_number" class="valid visa" maxlength="20" placeholder="1234 5678 9012 3456">
</div>
바로 여기에이 라인을 추가하기로 결정했습니다.
#paymentForm #card_number.amex {
background-position: 2px -373px, 260px -61px;
}
#paymentForm #card_number.valid.amex {
background-position: 2px -373px, 260px -87px;
}
이 값을 이해하지 못합니다
padding-left: 54px;
width: 225px
이 값도 변경해야합니까?
입력이 렌더링되는 방식을 보면 문제의 두 값이 다음을 수행합니다.
padding-left: 54px;
텍스트 입력이 신용 카드 유형의 배경 이미지와 겹치지 않도록합니다.
패딩 포함 :
패딩 없음 :
width: 225px;
유효성 검사 표시 이미지도 특정 값으로 설정되기 때문에 특별히 설정됩니다. 이는 필요하지 않으며 반응 형으로 만들 수 있지만이 경우 모든 것이 정확한 픽셀 값으로 설정됩니다.
amex의 적절한 위치는 다음과 같습니다.
#paymentForm #card_number.amex {
background-position: 2px -338px, 260px -61px;
}
#paymentForm #card_number.valid.amex {
background-position: 2px -338px, 260px -87px;
}
이를 디버깅하고 조정하는 가장 쉬운 방법 중 하나는 개발자 도구를 열고 해당 픽셀 값 중 하나에 커서를 놓고 키보드에서 up
또는 down
화살표를 누르는 것입니다. 말 그대로 배경 이미지가 움직이는 것을보고 값을 미세 조정할 수 있습니다.
http://g.recordit.co/8mYkxkPlhl.gif
#paymentForm #card_number {
background-image: url(https://i.stack.imgur.com/nGINL.png), url(https://i.stack.imgur.com/nGINL.png);
background-position: 2px -121px, 260px -61px;
background-size: 120px 361px, 120px 361px;
background-repeat: no-repeat;
padding-left: 54px;
width: 225px;
height: 20px;
}
#paymentForm #card_number.visa {
background-position: 2px -163px, 260px -61px
}
#paymentForm #card_number.visa_electron {
background-position: 2px -205px, 260px -61px
}
#paymentForm #card_number.mastercard {
background-position: 2px -247px, 260px -61px
}
#paymentForm #card_number.maestro {
background-position: 2px -289px, 260px -61px
}
#paymentForm #card_number.discover {
background-position: 2px -331px, 260px -61px
}
#paymentForm #card_number.valid.visa {
background-position: 2px -163px, 260px -87px
}
#paymentForm #card_number.valid.visa_electron {
background-position: 2px -205px, 260px -87px
}
#paymentForm #card_number.valid.mastercard {
background-position: 2px -247px, 260px -87px
}
#paymentForm #card_number.valid.maestro {
background-position: 2px -289px, 260px -87px
}
#paymentForm #card_number.valid.discover {
background-position: 2px -331px, 260px -87px
}
#paymentForm #card_number.amex {
background-position: 2px -338px, 260px -61px;
}
#paymentForm #card_number.valid.amex {
background-position: 2px -338px, 260px -87px;
}
<div id="paymentForm">
<input type="number" id="card_number" class="valid amex" />
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다