iPhone / Safari 입력 요소 반올림 끄기


374

내 웹 사이트는 iPhone / Safari 브라우저에서 잘 렌더링되지만 한 가지 예외가 있습니다. 내 텍스트 입력 필드에는 이상한 둥근 스타일이있어 나머지 웹 사이트에는 전혀 어울리지 않습니다.

입력 필드를 반올림하지 않고 의도 한대로 사각형으로 렌더링하지 않도록 Safari (CSS 또는 메타 데이터를 통해)에 지시하는 방법이 있습니까?


1
그 이유를 궁금해 NO의 CSS 재설정이 아주 쉽게 CSS 규칙을 포함 할 것으로 보인다. 그것은 뇌인입니다.
Toskan

1
실제로 eric meyer의 css reset 2를 기반으로 CSS 재설정을 만들었습니다. 여기서 답변에서 찾은 필요한 CSS가 추가되었습니다. github에서 사용할 수 있습니다 : github.com/Jossnaz/JossiCssReset
Toskan

1
에주의하십시오. -webkit-appearance: none;이 조건을 특정 입력 요소의 범위로 제한하는 것이 좋습니다. 그렇지 않으면 페이지에 라디오 입력 요소가 있으면 숨길 수 있습니다.
quas 08-08-08

답변:


659

iOS 5 이상에서 좋은 방법 border-radius은 다음과 같습니다.

input {
    border-radius: 0;
}

iOS에서 둥근 모서리 만 제거해야하거나 다른 이유로 플랫폼에서 둥근 모서리를 정규화 할 수없는 경우 접두사 -webkit-border-radius특성을 대신 사용하십시오 . 여전히 지원됩니다. 물론 Apple은 언제든지 접두사 속성에 대한 지원을 중단 할 수 있지만 다른 플랫폼 별 CSS 기능을 고려할 때 기회가있을 수 있습니다.

레거시 버전에서는 -webkit-appearance: none대신 설정해야 했습니다.

input {
    -webkit-appearance: none;
}

1
iOS 5부터는 내부 그림자 만 제거합니다. 둥근 모서리도 제거하려면 Piyush의 답변을 확인하십시오.
Jonathan Freeland

6
-webkit-appearance실제로 내부 그림자와 둥근 모서리와는 아무런 관련이 없습니다. 그것을 위해 그것을 사용하지 마십시오. css-infos.net/property/-webkit-appearance
Rudie

13
"IOS가 둥근 모서리와 그림자를 원한다면 IOS 사용자가 갖도록하십시오": 그것은 내 상황에서는, 그리고 아마도 대부분의 경우에도 완전히 받아 들일 수 없습니다.
coredumperror

2
!!이 방법을 사용하면 안됩니다. 확인란을 사용할 수없는 것 같습니다.이 때문에 많은 사이트 사용자가 지불 동의를 진행하지 않습니다. !!
synthresin

10
들어 <input type="search">iOS에서 10 나는 아직도 필요 -webkit-appearance: none;.
Gabriel Smoljár

54

input -webkit-appearance: none; 혼자서는 작동하지 않습니다.

추가 -webkit-border-radius:0px;하여 추가하십시오.


1
iOS 5에서 둥근 모서리를 제거 -webkit-border-radius하기 <input type="text">위해 속성 을 추가해야했습니다 .
Jonathan Freeland

0 뒤에 px를 추가 할 필요가 없습니다
mintedsky

42

IOS에서 반올림을 제거하는 가장 좋은 방법입니다.

textarea,
input[type="text"],
input[type="button"],
input[type="submit"] {
     -webkit-appearance: none;
     border-radius: 0;
}

참고 : 이 옵션을 선택 옵션에 사용하지 마십시오. 우리 선택에 문제가있을 것입니다.


2
사용 input[type]하면 모든 입력에 대한 트릭을 수행하는 것으로 나타났습니다 .
JacobTheDev

11

Chrome에서 허용 된 답변 라디오 버튼이 사라집니다. 이것은 작동합니다 :

input:not([type="radio"]):not([type="checkbox"]) {
    -webkit-appearance: none;
    border-radius: 0;
}

7

나침반 (SCSS)을위한 완벽한 솔루션은 다음과 같습니다.

input {
  -webkit-appearance: none;  // remove shadow in iOS
  @include border-radius(0);  // remove border-radius in iOS
}

14
참고로, @include border-radius(0);mixin은 직접 정의했거나 바닐라 SASS가 아니라 Compass 프레임 워크를 사용하는 경우에만 사용할 수 있습니다.
waffl

SCSS를 사용하는 경우 자동 접두사도 사용해야합니다.
Christian

6

iPhone 3GS의 iOS 5.1.1의 경우 검색 필드의 스타일을 지우고 원하는 스타일로 설정해야했습니다.

input[type="search"] {-webkit-appearance: none; border-radius: 0 3px 3px 0;}

이렇게 -webkit-border-radius: 0;만하면 기본 스타일을 취소하지 않았다. 이것은 기본 앱의 웹뷰에도 사용되었습니다.


4

동일한 문제가 있었지만 제출 버튼에만 해당됩니다. 내부 그림자와 둥근 모서리를 제거해야합니다-

input[type="submit"] { -webkit-appearance:none; -webkit-border-radius:0; }

4

normalize.css를 사용하면 해당 스타일 시트는 다음과 같은 작업을 수행합니다 input[type="search"] { -webkit-appearance: textfield; }.

이것은 같은 단일 클래스 선택기보다 더 높은 특이성을 가지 .foo므로 그렇게 할 수는 없습니다 .my-field { -webkit-appearance: none; }. 올바른 특이성을 얻는 더 좋은 방법이 없다면 다음과 같은 도움이 될 것입니다.

.my-field { -webkit-appearance: none !important; }


4

이것을 시도하십시오 :

다음 input과 같이 CSS를 추가 하십시오.

 -webkit-appearance: none;
       border-radius: 0;

3

간단한 경계 반경을 사용했습니다. 0; 텍스트 입력 유형의 둥근 모서리를 제거합니다.


0

Safari 및 기타 브라우저에서 버튼을 올바르게 렌더링하려면 웹킷 모양을 none으로 설정하는 것 외에도 버튼에 특정 스타일을 지정해야합니다.

border-radius: 0;
-webkit-appearance: none;
background-image: linear-gradient(to bottom, #e4e4e4, #f7f7f7);
border: 1px solid #afafaf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.