2014-02-12 6 views
0

내 페이지에서 두 개의 사이드 바 (가운데 및 반응 형) 사이에 세 개의 열이 있습니다. Opera와 Safari를 제외한 모든 브라우저에서보기 좋습니다. 해당 브라우저를 중심으로 이 아닌입니다.Opera와 Safari에서 세 개의 열을 완벽하게 가운데에 배치하는 방법은 무엇입니까?

그것은 파이어 폭스에서 다음과 같습니다

, 크롬과 IE :이 내 CSS입니다

http://www.vasinternetposao.com/center_problem/not_centered_opera.png

:

http://www.vasinternetposao.com/center_problem/center.png

이것은 오페라와 사파리의 모습입니다

#blogs_three_cols .left_column { 
width: 32.7%; 
} 

#blogs_three_cols .middle_column { 
margin-left: 0.95%; 
width: 32.7%; 
margin-right: 0.95%; 
} 

#blogs_three_cols .right_column { 
margin:0; 
width: 32.7%;  
} 

여기에 Live Page입니다 (차이점을 확인하려면 "3 열"및 "샘플 페이지"사이를 전환하십시오).

내 질문은 : 내 열 을 완벽하게 모든 브라우저에서 오페라 및 사파리에 대해 까다로운 CSS 해킹을 사용하지 않고 센터링 할 수 있습니까? 할 수 있습니까?

스태커 고맙습니다! 컨테이너에 0 자동 및 플로트를 생략 :

답변

1

귀하의 컨테이너 DIV 번호의 blogs_three_cols는 마진을 centered.add되지 그것에서 을 떠났다. 누군가가 내가 그것을 듣고 싶습니다이에 대한 명확한 CSS 솔루션 또는 더 나은 jQuery를/자바 스크립트가있는 경우

+0

솔루션을 시도 .. 그것은 나를 위해 작동하지 않습니다; ( –

+0

다른 브라우저는 HTML 및 CSS 렌더링에 약간의 차이가 있습니다. 이러한 문제 중 일부는 HTML 및 CSS 디자인 규칙을 사용하여 해결할 수 있으며 일부는 실제로 이와 같은 경우에도 규칙을 사용하여 해결할 수 없습니다. 당신은 jQuery로 페이지로드시 CSS 클래스를 바꿀 수 있습니다. – codeWorm

+0

그래, 그걸 알고 있고 Opera와 Safari에서 브라우저 특정 해킹을 사용하여 "고칠 수있다"는 것을 알고 있지만 그렇게하고 싶지는 않습니다 ... –

0

: =)를 어쨌든 나는이 같은 브라우저 탐지를 기반으로 클래스를 변경합니다 :

j(document).ready(function() { 
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; 
//Opera check and safari... 
if (window.opera && window.opera.buildNumber || isSafari) { 
//add some classes for Opera and Safari browsers... 
} 
} 
관련 문제