2016-09-08 4 views
2

내가 여기에서하려고하는 모든 것은 데스크톱에서 열 때 완벽하게 작동하는 내 사이트에 간단한 바닥 글을 추가하는 것입니다. 그러나 태블릿이나 모바일에서 키보드를 사용할 때마다 로그인 할 때마다 바닥 글이 페이지 바로 위에서 움직입니다 키보드. 이 아이디어를 고치는 방법이 있습니까?키보드가 열려있을 때 바닥 글이 위로 밀려 나옵니다. HTML/CSS?

아무 문제가 없기 때문에 당신은 그것을 고칠 수

#footer { 
 
    width: 100%; 
 
    background-color: #4c66a4; 
 
    color: #fff; 
 
    position: absolute; 
 
    left: 0px; 
 
    bottom: 0px; 
 
    text-align: center; 
 
}
<div id="footer"> 
 
    <p>&copy; 2018 SulmaxCP. All Rights Reserved.</p> 
 
</div>

Keyboard Closed

Keyboard Open

+0

절대 위치 지정을 사용했기 때문에. –

+0

당신은 내가 생각하는 응용 프로그램을 만들고 있습니다. 이것은 기본적으로 발생합니다. 이 솔루션을 수정하려면 로딩시 Page-height를 검색하는 자바 스크립트를 작성하고 페이지 높이가 변경되면 바닥 글을 숨길 수 있습니다. 또는 키보드 이벤트가 트리거 될 때 바닥 글을 숨기려고합니다. –

답변

1

body 태그 안에 래퍼를 사용해보십시오.

html,body{ 
 
    height:100%; 
 
} 
 
.wrapper { 
 
    min-height: 100%; 
 
    position: relative; 
 
    padding-bottom:90px; /* footer's height */ 
 
} 
 
#footer { 
 
    width: 100%; 
 
    background-color: #4c66a4; 
 
    color: #fff; 
 
    position: absolute; 
 
    left: 0px; 
 
    bottom: 0px; 
 
    text-align: center; 
 
}
<div class="wrapper"> 
 
<main> 
 
    <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perspiciatis necessitatibus earum tenetur itaque ducimus atque nam vitae ab non quasi natus quam, cum hic quod possimus quibusdam inventore minima temporibus.</div> 
 
    <div>Optio inventore delectus quas rerum mollitia eum, repellendus voluptatum! Quos, quas nobis delectus, ipsa tempore reiciendis dolore numquam sequi tempora, nostrum in mollitia laboriosam odio labore voluptatem sint. Similique, aliquam.</div> 
 
    <div>Sapiente quisquam vitae alias in nesciunt numquam id, distinctio! Doloribus error mollitia, optio debitis ratione quaerat maiores odio nostrum autem commodi tempora magnam, quos necessitatibus nobis aperiam consequuntur perspiciatis deserunt.</div> 
 
    <div>Hic facere nam aliquam tenetur officiis, ratione, sunt aliquid perspiciatis distinctio laborum perferendis nisi ullam omnis incidunt, quasi illo corrupti, dolores eius vero ipsum tempore. Tempora consequatur necessitatibus, saepe assumenda.</div> 
 
    <div>Eveniet, odit deleniti neque voluptates soluta architecto, quae aspernatur aut minima rerum itaque nobis distinctio ex culpa! Dolore sit vel mollitia aspernatur distinctio voluptatibus! Iste perspiciatis, aliquid a doloribus et.</div> 
 
    <div>Molestias, ducimus! Magni doloribus fugiat praesentium dolore minus perferendis, reprehenderit voluptatibus fuga, rerum quam eveniet, odit ut eaque, repellat provident aperiam repudiandae. Quos porro eveniet, dignissimos non quibusdam provident eligendi!</div> 
 
    <div>Ducimus unde ea iste alias fugiat debitis natus illo eligendi! Nisi dolor esse totam optio, tenetur distinctio, sequi inventore eaque iure earum suscipit quam ipsam qui quae molestias id expedita!</div> 
 
    <div>Veritatis delectus, in laudantium. Excepturi, deserunt! Ullam voluptatem aliquid doloribus ab, officia veniam maiores magnam maxime. Vero esse non dicta autem, aliquam eos dolore harum sed incidunt architecto placeat eaque!</div> 
 
    <div>Hic veniam porro autem quia, commodi provident sunt, at tempore libero, consequuntur, accusamus. Vero illo molestias nam, velit hic iure, a sequi, explicabo ipsum voluptates numquam modi dolorum rem culpa!</div> 
 
    <div>Iusto a cum nihil eos atque, impedit, debitis quis dolor consectetur ratione ipsam nisi recusandae temporibus possimus. Non, natus a, consequuntur provident facilis nemo assumenda dolorum vitae, eligendi et harum.</div> 
 
</main> 
 
<div id="footer"> 
 
    <p>&copy; 2018 SulmaxCP. All Rights Reserved.</p> 
 
</div> 
 
</div>

것은

는 body 태그에서 자신의 위치를 ​​관련이 바닥 글과 키보드 본체의 높이 변경 및 바닥 글을 표시 할 때 키보드를 얻는다.

+0

이 방법과 같은 이음새는 사용자 화면 크기를 알고있을 때만 작동합니다. –

+0

시도해 보셨습니까? –

+0

나는 그랬다. 그것은 바닥 글을 페이지의 맨 아래가 아닌 내 콘텐츠 바로 아래에 놓는다. –

1

이, 바닥 글은 당신이했습니다 정확히 무엇을하고있는 CSS 그것을하도록 말했다.

바닥 글에 대한 CSS 규칙은 휴대 기기의 키보드가 보이더라도 항상 키보드 하단이 창 하단에있는 경우에도 창의 하단에 항상 '첨부'하도록 말합니다. 당신이 원하는 경우

, 당신은 position:absolute 값을 제거 할 수 있습니다하거나 당신이 제출 한 입력에 초점을 보여줄 때 다시 바닥 글을 숨길 입력에서 초점 바닥 글 jQuery를 사용하여 제기 할 수 position:fixed

+0

'position : absolute'을 제거했을 때 내 꼬리말이 페이지 중앙에 오게되었습니다. 나는 그것을'position : fixed'로 바꾸었고'position : absolute'와 같은 결과를 얻었습니다. 그래도 도움을 주셔서 감사합니다. –

+0

그래, 바닥에 다시 머물고 싶다면 페이지의 최소 높이와 같은 스타일을 페이지의 나머지 부분에 추가해야합니다. – Lee

1

로 변경.

$("#inputID").focus(function() { 
    $("#footer").hide(); 
}); 

$("#inputID").focusOut(function() { 
    $("#footer").show(); 
}); 
+0

또는 CSS에서 더 간단합니다 :'#inputID : focus ~ #footer {display : none}'(둘 다 같은 부모를 가졌을 때에 만 작동합니다). – Senthe

+0

동일한 __direct__ 부모, 오른쪽 – Roberrrt

+0

이것은 어떤 이유로 작동하지 않았으며, CSS에도 계속 동일한 결과를주었습니다. –

0

이 싼 해키 수정,하지만 :

CSS :

@media screen and (max-width: 800px) { 

    .hide-footer { 
     display: none; 
    } 

} 

jQuery를이 즉시 포커스로 바닥 글 클래스 .hide-footer을 추가

$('input').focus(function() { 
    $('footer').addClass('hide-footer'); 
}); 

$('input').focusout(function() { 
    $('footer').removeClass('hide-footer'); 
}); 

입력 태그에. 또한 화면 너비가 800px 미만인 경우에만 바닥 글이 숨겨집니다 (맞춤 설정해야하지만 휴대 기기를 포함해야 함).

+0

솔직히 말해, 일반적인 '.hidden'클래스를 사용하고 뷰포트 너비가 충분히 작거나 터치 장치에서만 추가하는 것이 더 낫습니다 (JS를 사용하는 경우 Modernizr로 이것을 확인할 수 있음). – Senthe

+0

포커스가 없을 때 OP는 바닥 글에 문제가 없습니다. 일반 이미지는 여기에 동의합니다 – Roberrrt

+0

이 코드를 내 코드에 추가했지만 단순히 동일한 결과를 제공합니다. –

관련 문제