Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Блок div в центре экрана

Это пример, который позволяет определить центр экрана, отступить от него на половину размера выводимого блока текста и спозиционировать блок по полученным координатам.

Исходный код этого примера:
<style>
    #helpLayer {
        position: fixed;
        width: 200px;
        height: 100px;
        line-height: 100px;
        color: red;
        border: 1px solid red;
        text-align: center;
    }
</style>

<div id="helpLayer" style="display: none;">
    Блок в центре экрана
</div>

<script>
    function getViewportHeight() {
        if(window.visualViewport && window.visualViewport.height) return window.visualViewport.height;
        var de=document.documentElement;
        return self.innerHeight || ( de && de.clientHeight ) || document.body.clientHeight;
    }

    function getViewportWidth() {
        if(window.visualViewport && window.visualViewport.width) return window.visualViewport.width;
        var de = document.documentElement;
        return self.innerWidth || ( de && de.clientWidth ) || document.body.clientWidth;
    }

    function show(){
        var layer  = document.getElementById('helpLayer');
        var c=window.getComputedStyle(layer, null);
        layer.style.left = Math.floor((getViewportWidth() - parseInt(c.width))/2) + "px";
        layer.style.top = Math.floor((getViewportHeight() - parseInt(c.height))/2) + "px";
        layer.style.display = 'block';
        console.log('width = ', parseInt(c.width));
        console.log('height = ', parseInt(c.height));
        return false;
    }
    onload=show();
</script>

.