2012-02-08 2 views
0

저는 웹 사이트에서 일하고 있습니다. 온라인에서 어떤 종류의 해결책을 찾을 수없는 문제가있어서 도움을 주시면 감사하겠습니다.메뉴가 화면 밖으로 나옵니다. 그러나 페이지를 스크롤 할 수 없습니다.

드롭 다운 메뉴를 디자인했습니다. 문제는 페이지가 확대 된 경우 2 줄로 나뉩니다 (드롭 다운 메뉴처럼 바람직하지 않음). 메뉴의 최소 너비, 위치가 절대로 설정되어 있으므로 오른쪽으로 스크롤 할 수없고 메뉴가 화면 밖으로 나옵니다. 본문을 스크롤 할 수 있지만 메뉴가 그대로 남아 있기 때문에 body 태그의 최소 너비를 설정하지 않으면 작동하지 않습니다! 실망 스럽습니다

위치를 절대적으로 유지해야합니다. 그렇지 않으면 전체적인 방법이 필요하며 도움을 주셔서 감사합니다. 그래서 오른쪽으로 스크롤 해 보겠습니다. 스마트 폰처럼 화면이 실제로 확대됩니다.

여기에 메뉴 코드가 있습니다. (너무 길기 때문에, 전체가 아니라, 주요 부분입니다. 더 많은 것을 보거나, 요청하거나, 페이지를 방문하여 소스 코드를보십시오).

웹 사이트 : http://newfutureuniversity.org/

HTML :

... 
<body> 
    <div id="container"> 
     <div class="menu" > 
      <ul> 
       <li><a href="http://newfutureuniversity.org/">New Future</a></li> 
       <li><a href="http://newfutureuniversity.org/learn/degree/">Learn</a> 
       <ul class="bottom"> 
       ... 
       </ul> 
       </li> 
... 

CSS :

body    /* Changes the style for the whole body */ 
    { 
    position:absolute; 
    margin:0px;   /* Avoids margin in the whole page */ 
    padding:0px; 
    border:0px; 
    background-color: #EEEEEE; /* Default background color, light grey */ 
    height:100%;   /* Vertically complete */ 
    width:100%; 
    min-width:400px; 
    min-height: 100%; 
    color: #333;   /* Letters color */ 
    } 

#container   /* The container has the header, main and footer inside */ 
    { 
    position:relative; 
    margin:0px; 
    padding:0px; 
    min-height: 100%;  /* Avoids the footer to go up */ 
    height: auto !important; 
    height: 100%; 
    margin: 0px auto -51px; 
    } 
.menu 
    { 
    position: fixed; 
    top:0px; 
    left:0px; 
    opacity:0.3; 
    filter:alpha(opacity=30); /* For IE8 and earlier */ 
    width:100%; 
    min-width:400px; 
    border:none; 
    border-bottom:1px solid gray; 
    margin:0px; 
    padding:0px; 
    font-size:18px; 
    z-index:3; 
    } 

.menu ul 
    { 
    background:#DDD; 
    height:26px; 
    list-style:none; 
    margin:0px; 
    padding:0px; 
    z-index:3; 
    } 
    .menu li{ 
     width:24.5%; 
     min-width:93px; 
     float:left; 
     padding:0px; 
     margin: 2px 0px 2px 0.5%; 
     } 
... 

편집 : 당신은 최대화 취소하고 데스크톱 브라우저에서 문제를보고 확대 할 필요가있다.

+0

Windows 7과 IE9에서는 최대화를 시도하지 않고 300 %로 확대/축소 할 수 있습니다. 문제의 그림을 게시 할 수 있습니까? – Jawad

+0

여기에 추가 된 문제 그림 : http://oi40.tinypic.com/2eqc104.jpg –

답변

0

두 줄로 구분하여 무슨 뜻인지 확실하지 않습니다. Firefox, Chrome, IE, Opera 및 내 iPhone에서 귀하의 사이트를 검토 한 결과 귀하의 문제를 재현 할 수 없었습니다. 메뉴가 단순히 화면에서 흘러 나와서 마지막 항목 인 "Get In"을 보지 못했습니다. 그러나 디자인 문제가 생길 수도 있습니다. 나는 '하나의 사이트 만이 아닌'사이트를 구축하는 것을 권장하지 않지만 잠재 고객을 타겟팅하십시오.

원하는 솔루션은 메뉴 디자인으로는 상대적으로 불가능합니다. 고정/절대 위치로 작업하고 창/화면보기를 기준으로 배치합니다. 화면을 확대하면 웹 페이지에서 '떠 다니는'것이지만 절대 위치 된 객체의 위치는 페이지가 아닌 화면과 관련되어 움직이지 않습니다.

스케일에 기반한 포지셔닝을 수정할 수있는 js 스크립트를 사용하면이 문제를 해결할 수 있지만 반대 의견을 제시합니다. 나는 비슷한 문제를 해결하려고 노력 했었고 이것은 곧 장치 별 디버깅이 된 것은 악몽이며 오늘날 우리가 고심하고있는 브라우저의 악몽이다.

솔루션의 경우 몇 가지 다른 프레임 워크를 살펴 보는 것이 좋습니다. 첫 번째는 CSS 솔루션 인 lessframework입니다. js를 파지 않고도 다중 장치 호환 레이아웃에 사용할 간단한 프레임 워크를 제공합니다. 반면 JavaScript가 문제 체크 아웃이 아닌 경우 jQuery Mobile. 생성 효과와 매우 유사한 멋진 전환 효과로 쉽게 드롭 다운 메뉴를 만들 수 있습니다.

+0

최소 높이를 유지하거나 삭제하면 2 가지 오류가 발생할 수 있으므로이를 재현 할 수 없습니다. 400px; 만약 당신이 정말로 다른 방식으로 그것을 확인하고 싶다면, 지금 나는 그것을 삭제해서 당신이 의미 한 것을 볼 수 있습니다. 나는 lessframework를 확인 하겠지만, 장치별로 분리하게 될 것입니다.이 문제는 데스크탑 브라우저에서 최대화되지 않고 실제로 확대되지 않을 때만 발생합니다. 정교하게 대답 해 주셔서 감사합니다! 편집 : style.css를 새로 고치려면 F5 키를 누르십시오! –

+0

데스크톱 버전을 만드는 것이 가장 좋습니다. 모바일 용으로 가장 적합합니다. 개별 모바일 장치를 돕기 위해 [tera-wurfl] (http://dbapi.scientiamobile.com/wiki/index.php/Main_Page)를 볼 가치가 있습니다. 디스플레이의 너비와 높이와 같은 정보를 제공하는 데 도움이 될 수 있습니다. –

+0

다시 한번 감사드립니다. 제게 많은 도움이 될 것입니다. –

관련 문제