html - HTML 页面的背景布局

标签 html css

我正在尝试创建一个 HTML 页面,该页面应显示以球场为背景的足球队的布置。球员的名字将在 PHP 下用 MySQL 查询显示。问题不在于检索这些数据,而在于页面的布局;我在用不同的屏幕尺寸显示它时遇到了一些问题,在某种类型的内部显示中也遇到了一些问题(你可以在代码中看到)。 所以这个想法是用不同的填充来显示一些 Angular 色的玩家,同时考虑到每个 Angular 色的玩家数量。这是 HTML 代码:

 <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <link type="text/css" rel="stylesheet" href="../css/formazione.css" />
    </head>

    <body>
        <div id="intro">
            <h1>Benvenuto nella pagina web !</h1>
        </div>
        <div id="formazione">
            <div id="title">
                <h2>Juventus vs Milan</h2>
            </div>
            <div class="campo">
                <div class="portiereC">
                    <ul class="modulo-1">
                        <li>
                            BUFFON
                        </li>
                    </ul>
                </div>
                <div class="difensoriC">
                    <ul class="modulo-5">
                        <li>
                            CHIELLINI
                        </li>
                        <li>
                            BONUCCI
                        </li>
                        <li>
                            DE CEGLIE
                        </li>
                        <li>
                            DE SCIGLIO
                        </li>
                        <li>
                            BARZAGLI
                        </li>
                    </ul>
                </div>
                <div class="centrocampistiC">
                    <ul class="modulo-3">
                        <li>
                            MARCHISIO
                        </li>
                        <li>
                            POGBA
                        </li>
                        <li>
                            PIRLO
                        </li>

                    </ul>
                </div>
                <div class="attaccantiC">
                    <ul class="modulo-2">
                        <li>
                            TEVEZ
                        </li>
                        <li>
                            MORATA
                        </li>
                    </ul>
                </div>
                <div class="portiereF">
                    <ul class="portiereF modulo-1">
                        <li>
                            BUFFON
                        </li>
                    </ul>
                </div>
                <div class="difensoriF">
                    <ul class="modulo-5">
                        <li>
                            CHIELLINI
                        </li>
                        <li>
                            BONUCCI
                        </li>
                        <li>
                            DE CEGLIE
                        </li>
                        <li>
                            DE SCIGLIO
                        </li>
                        <li>
                            BARZAGLI
                        </li>
                    </ul>
                </div>
                <div class="centrocampistiF">
                    <ul class="modulo-3">
                        <li>
                            MARCHISIO
                        </li>
                        <li>
                            POGBA
                        </li>
                        <li>
                            PIRLO
                        </li>

                    </ul>
                </div>
                <div class="attaccantiF">
                    <ul class="modulo-2">
                        <li>
                            TEVEZ
                        </li>
                        <li>
                            MORATA
                        </li>
                    </ul>
                </div>
            </div>
        </div>

    </body>
</html>

这是 CSS:

    body {
    background-color: #F3CACE;
    padding-left: 25%;
}

#intro{
    text-align: left;
}


#title{
    color: green;
}

.campo{
    position: absolute;
    font-family: gazzetta;
    width: 540px;
    height: 375px;
    background-image: url("./campetto.jpg");
    color: orange;
    font-size: 0.79em;

}

li{
    list-style-type: none; 
    text-align: center;
}


.portiereC{
    top: 4%;
    position: absolute;
}

.difensoriC {
    left: 8%;
    top: 4%;
    position: absolute;
}


.centrocampistiC{
    left: 20%;
    top:  4%;
    position: absolute;

}

.attaccantiC{
    position: absolute;
    top: 4%;
    left: 32%;
}

.portiereF{
    right: 8%;
    top: 4%;
    position: absolute;
}

.difensoriF {
    right: 15%;
    top: 4%;
    position: absolute;
}


.centrocampistiF{
    right: 28%;
    top:  4%;
    position: absolute;

}

.attaccantiF{
    position: absolute;
    top: 4%;
    right: 38%;
}

.modulo-5 li{
    padding-top: 80%;
}

.modulo-5 li:first-child{
    padding-top: 0px;
}



.modulo-4 li{
    padding-top: 100%;
}

.modulo-4 li:first-child{
    padding-top: 20%;
}



.modulo-3 li{
    padding-top: 130%;
}

.modulo-3 li:first-child{
    padding-top: 50%;
}

.modulo-2 li{
    padding-top: 150%;
}

.modulo-2 li:first-child{
    padding-top: 200%;
}

.modulo-1 li{
    padding-top: 320%;
}



@media (max-width: 980px) {
    body{
        padding-left: 0px;
    }

    .campo{
    width: 980px;
    height: 680px;
    position: absolute;
    font-family: gazzetta;
    background-image: url("./campetto.jpg");
    background-repeat: no-repeat;
    color: orange;
    font-size: 0.8em;
    }
}



@font-face {
    font-family: gazzetta;
    src: url("../font/TitlingGothicFBCond-Bold.woff");
}

enter image description here

最佳答案

你可以做几件事。

  1. 了解 HTML5 Canvas这让你在 为了创建领域和所有玩家所在的位置。你可以 使用 JQuery AJAX 填充字段并调用一个javascript 对象 Generated by PHP .这里的好处是您可以将 Javascript 用于动画和其他内容。
  2. 了解 SVG .这使用 HTML 元素和 CSS 来创建一个 你的领域。这样做的好处是您不必担心学习如何使用 javascript。

总而言之,我建议学习 Javascript Canvas。它的功能更加灵活。

编辑 2015 年 9 月 18 日 这是一个例子。这是用 jquery 编辑的,但您可以只打印出足球运动员所在位置的文本。

$('circle').animate({
  cx: 100
}, 1000, function() {
  $('text').text('new stuff')
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<body>


  <svg width="100" height="100">
    <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
    <text x="0" y="15" fill="red">I love SVG!</text>
    Sorry, your browser does not support inline SVG.
  </svg>

</body>

</html>

关于html - HTML 页面的背景布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28487511/

相关文章:

javascript - 用于图像上映射区域的 Bootstrap 弹出框/工具提示

html - 有可能在 div 背景中制作三 Angular 形图案,只有 css3/html?怎么做?

javascript - 当用户取消选择 div 时停止代码运行

html - CSS - 缩小背景 div

jquery - 向下滚动 - 反向

html - 表格标题元素导致打印时分页

javascript - 如何在 jquery 模糊事件监听器上应用条件

javascript - 在 HTML 方法参数 javascript 中传递数组

javascript - Javascript 中的 CSS 属性可见性问题

html - 在 flexbox li 元素中底部对齐图像