2013-06-06 3 views
1

저는 css를 처음 사용하고 몇 가지 간단한 프로젝트를 시작했습니다. 나는 정말로 이상한 이슈를 스타일링하는 것을 만났다. 이 의지너비와 높이가 'a'태그에서 작동하지 않습니까?

<a href="#" style="width:240px; height:40px;"></a> 

그러나 어떤 이유로 : 다음 코드는 링크가 발생하지 않습니다

<a href="#" style="width:240px; height:40px; float:left;"></a> 

내 질문은 기본적으로, 세계에서 당신은없이 링크의 크기를 설정하는 방법 float를 사용해야합니까? 그리고 왜 떠 다니는가?

감사합니다.

+0

확인이 바이올린 : http://jsfiddle.net/pN99R/ 그것의 반대를하고있다

inline-block와 IE7 낮은 문제는 그래서 당신은 "해킹"CSS를 사용 할 수 있습니다 당신이 말하고있는 것 : – karthikr

+0

Karthikr, 실제로 반대가 아닙니다. 요소를 검사하면. 두 번째 'a'가 앞에 있습니다. 이는 떠 다니기 때문에 다른 요소를 그 오른쪽으로 밀어 넣기 때문입니다. – npage

답변

3
<a href="#" style="width:240px; height:40px;background-color:blue;display:block;"></a> 

보통 'a'요소가 인라인으로 표시되기 때문입니다. display : block을 사용하여 오버 라이드 할 수 있습니다.

여기 '디스플레이'에 대한 추가 정보 : http://www.w3schools.com/cssref/pr_class_display.asp

하는 플로트에 관하여는 : 왼쪽;

왼쪽으로 떠있을 때 브라우저는 자동으로 디스플레이를 블록으로 오버라이드합니다.

+0

대단히 감사합니다! – IAmTheAg

+0

문제 없음 (추가 텍스트) – npage

0

"a"는 인라인 요소는, 당신은

a { display: inline-block; } 

인라인을 유지하지만, 치수, 패딩, 마진과 당신이 할 수 밖에 기본적으로 모든의 변경 할 수 있도록 인라인 블록으로 표시해야하기 때문에 "div"로해라.

a { 
display: inline-block; 
*display: inline; //* stands for IE7 and will not affect Chrome, Firefox and other browsers including IE8+ 
*zoom: 1; 
} 
+0

감사합니다. 하나 이상의 답변을 수락 할 수 없지만 IE7의 '해킹'은 유용하고 분명히 가치가 있습니다. – IAmTheAg

관련 문제