括号的HTML/CSS部分
我正在开发一个杯子系统,我想得到一些关于支架部分的建议。理想的结果应该如下所示: 我想使用div与CSS结合构建op页面,而不是使用表。我应该如何使其达到最佳效果?你们有这个的样品吗括号的HTML/CSS部分,css,html,Css,Html,我正在开发一个杯子系统,我想得到一些关于支架部分的建议。理想的结果应该如下所示: 我想使用div与CSS结合构建op页面,而不是使用表。我应该如何使其达到最佳效果?你们有这个的样品吗 我只是想寻求有关HTML/CSS部分的帮助,没有其他问题。您可以这样做。根据您的div位置更改以下代码 CSS HTML 这里的演示这似乎很有趣,所以我开始开发,现在必须回去工作,所以这就是我取得的成绩。我想,这些基础知识都是为你准备的,所以你可以在这里完成它,不过我可能也会在业余时间完成它,稍后再来发
我只是想寻求有关HTML/CSS部分的帮助,没有其他问题。您可以这样做。根据您的div位置更改以下代码 CSS HTML
这里的演示这似乎很有趣,所以我开始开发,现在必须回去工作,所以这就是我取得的成绩。我想,这些基础知识都是为你准备的,所以你可以在这里完成它,不过我可能也会在业余时间完成它,稍后再来发布 更新: 完成- CSS HTML
玩家1
玩家2
玩家3
玩家4
玩家5
玩家6
玩家7
玩家8
您想看看SVG()或者画布()
我会选择SVG。您需要使用一些JavaScript计算连接线的端点,您将在浏览器中使用SVG绘制这些端点,并将其整齐地抽象到简单界面后面。实际上,JavaScript是将整个应用程序粘合在一起的东西,SVG只是用于绘图,HTML和CSS将帮助您展示它的其他部分
或者,您可以使用SVG显示整个决赛阵容。然后,您将使用JavaScript操纵其内容,以显示适当的团队标题和关系
它会很漂亮。我的完整有效解决方案如下: 我更喜欢使用纯语义标记的解决方案,该解决方案将易于阅读,并使用稍后可能会陆续出现的数据进行修改,例如谁赢得了每场比赛 所以我从一个标记结构开始,玩家嵌套在比赛中,比赛嵌套在回合中 HTML:
@hskrijelj你尝试过什么吗?你应该重新思考你回合的标签:当剩下两支球队时,这是最后一场比赛,而不是半决赛。编辑了我的帖子,包括一个完成的版本,代码可以被清理很多,但它确实是一个非常糟糕的解决方案。很多无意义的标记,只是为了样式。当然,网络上的情况要糟糕得多,所以我该向谁抱怨呢。但事实就是如此,我对这里提出的建议抱有更高的希望;-)这在我的情况下不会派上用场,因为我需要保持灵活性。正如@amn所指出的,有很多标记。不过,感谢您的分享和贡献。哇,这是一个简单但有效的方法。太棒了,哇!非常感谢分享这个。这正是我一直在寻找的。支架需要灵活;括号是根据团队数量自动生成的,因此方框和回合/阶段的数量并不总是相同的。我可能需要做一些更改,例如使用恒定的高度值,但更改是最小的。再次感谢你!我还没有对HTML5和HTML中的所有优点进行过太多的研究。我会记住SVG(我只是读了一些关于它的文章,它看起来很有趣)。SVG并没有真正连接到HTML5,而Canvas是。如果您访问我提供的SVG链接,您将看到这对于您的案例来说是多么容易。您甚至可以使用单个SVG文档显示整个内容。或者,您可以保留
DIV
s(或者使用XML和XSLT生成HTML),并且只对连接器行使用SVG元素。JavaScript在任何情况下都将被证明是粘合剂。你是对的,它看起来相当简单。然而,我更像是一个传统的程序员/设计师。我喜欢只使用div构建所有部分。但正如我所说,我会记住这一点。再次感谢!有趣!我刚试过,结果很理想。我明白你在回合->比赛->玩家中构建它的意义。我打算做类似的事情。但是,我看不出使用BG连接盒子的原因。我知道,这就是语义标记关于无挂钩设计的意义。但我不明白,为什么这里需要语义标记。应该出现哪些问题?谢谢分享@根本没有必要。我只是想让标记保持整洁。您可以使用一种组合的方法:像我那样嵌套元素,但是在这里和那里使用一些额外的标记来绘制连接器,但是我认为这会更难阅读,而且我更喜欢在样式表中保留样式信息。这只是我的偏好……不过如果你仔细想想,连接器确实有语义价值。虽然如果我真的想要在标记中编码关系,也许我会在匹配中添加id(如id=“match-1d”
),并在每个匹配中添加数据属性,如data winner plays in=“match-2b”
,然后,我不知道,可能会用一些不显眼的javascript来划线(但这可能有点困难).我同意你的大部分观点。我想把自己想象成一个更传统的程序员/设计师。我在可能的情况下使用CSS而不是图像,即使在某些情况下这看起来更容易。我永远不会把样式信息放在HTML文件中(除非真的有必要)。我认为使用javascript生成连接器是一种过分的做法,但我喜欢这个想法。这很有挑战性,因此很有趣。我可以试一试。
h1 {
width:580px;
font-family:verdana,arial,helvetica,sans-serif;
font-size:18px;
text-align:center;
margin:40px auto;
}
#container {
width:580px;
font-family:verdana,arial,helvetica,sans-serif;
font-size:11px;
text-align:center;
margin:auto;
}
#container a {
display:block;
color:#000;
text-decoration:none;
background-color:#f6f6ff;
}
#container a:hover {
color:#900;
background-color:#f6f6ff;
}
#no1 {
width:190px;
line-height:60px;
border:1px solid #000;
margin:auto;
}
#no1 a {
height:60px;
}
#line1 {
font-size:0;
width:1px;
height:20px;
color:#fff;
background-color:#000;
margin:auto;
}
#line2 {
font-size:0;
width:424px;
height:1px;
color:#fff;
background-color:#000;
margin:auto;
}
#line3 {
font-size:0;
display:inline;
width:1px;
height:20px;
color:#fff;
background-color:#000;
margin-left:78px;
float:left;
}
#line4,#line5,#line6 {
font-size:0;
display:inline;
width:1px;
height:20px;
color:#fff;
background-color:#000;
margin-left:140px;
float:left;
}
#no2 {
display:inline;
border:1px solid #000;
clear:both;
margin-left:35px;
float:left;
}
#no2 a,#no4 a,#no8 a {
width:84px;
height:50px;
padding-top:8px;
}
#no3 {
display:inline;
border:1px solid #000;
margin-left:58px;
float:left;
}
#no3 a,#no5 a,#no6 a,#no7 a,#no9 a {
width:84px;
height:42px;
padding-top:16px;
}
#no4 {
display:inline;
border:1px solid #000;
margin-left:53px;
float:left;
}
#no5 {
display:inline;
border:1px solid #000;
margin-left:55px;
float:left;
}
#line7,#line13 {
font-size:0;
display:inline;
width:1px;
height:38px;
color:#fff;
background-color:#000;
margin-left:219px;
float:left;
}
#line8,#line14 {
font-size:0;
display:inline;
width:1px;
height:38px;
color:#fff;
background-color:#000;
margin-left:281px;
float:left;
}
#no6,#no8 {
display:inline;
border:1px solid #000;
margin-left:107px;
float:left;
}
#line9,#line11,#line15,#line17 {
font-size:0;
display:inline;
width:26px;
height:1px;
color:#fff;
background-color:#000;
margin-top:29px;
float:left;
}
#line10,#line12,#line16,#line18 {
font-size:0;
display:inline;
width:1px;
height:60px;
color:#fff;
background-color:#000;
float:left;
}
#line16,#line18 {
height:30px;
}
#no7,#no9 {
display:inline;
border:1px solid #000;
margin-left:169px;
float:left;
}
.clear {
clear:both;
}
<div id="container">
<div id="no1"><a href="">Managing Director</a></div>
<div id="line1"></div>
<div id="line2"></div>
<div id="line3"></div>
<div id="line4"></div>
<div id="line5"></div>
<div id="line6"></div>
<div id="no2"><a href="#">Sales & Marketing Director</a></div>
<div id="no3"><a href="#">Production Director</a></div>
<div id="no4"><a href="#">Human Resources Director</a></div>
<div id="no5"><a href="#">Finance Director</a></div>
<div id="line7"></div>
<div id="line8"></div>
<div class="clear"></div>
<div id="no6"><a href="#">Factory Manager</a></div>
<div id="line9"></div>
<div id="line10"></div>
<div id="no7"><a href="#">Management Accountant</a></div>
<div id="line11"></div>
<div id="line12"></div>
<div class="clear"></div>
<div id="line13"></div>
<div id="line14"></div>
<div class="clear"></div>
<div id="no8"><a href="#">Quality Control Manager</a></div>
<div id="line15"></div>
<div id="line16"></div>
<div id="no9"><a href="#">Financial Accountant</a></div>
<div id="line17"></div>
<div id="line18"></div>
<div class="clear"></div>
</div>
</body>
</html>
#container {
width: 800px;
height: 600px;
float: left;
}
section {
width: 130px;
height: 520px;
float: left;
}
section > div {
width: 100px;
height: 20px;
border: 1px solid #000;
margin: 10px 0;
background: #73789F;
color: white;
padding: 10px 10px 10px 20px;
}
section > div:nth-child(2n) {
margin-bottom: 40px;
}
.connecter {
width: 30px;
height: 520px;
float: left;
}
.line {
width: 30px;
height: 520px;
float: left;
}
.connecter div {
border: 1px solid #000;
border-left: none;
height: 50px;
width: 100%;
margin: 80px 0 0 1px;
}
.connecter div:first-child {
margin: 32px 0 0 1px;
}
.line div {
border-top: 1px solid #000;
margin: 133px 0 0 1px;
}
.line div:first-child {
margin-top: 55px;
}
#quarterFinals > div {
margin-top: 91px;
}
#quarterFinals > div:first-child {
margin-top: 37px;
}
#conn2 div {
margin-top: 133px;
height: 133px;
}
#conn2 div:first-child {
margin-top: 57px;
}
#line2 div {
margin-top: 270px;
}
#line2 div:first-child {
margin-top: 125px;
}
#semiFinals > div {
margin-top: 230px;
}
#semiFinals > div:first-child {
margin-top: 105px;
}
#conn3 div {
margin-top: 125px;
height: 270px;
}
#line3 div {
margin-top: 270px;
}
#final > div {
margin-top: 250px;
}
<article id="container">
<section>
<div>Player 1</div>
<div>Player 2</div>
<div>Player 3</div>
<div>Player 4</div>
<div>Player 5</div>
<div>Player 6</div>
<div>Player 7</div>
<div>Player 8</div>
</section>
<div class="connecter">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="line">
<div>
</div><div>
</div><div>
</div><div>
</div>
</div>
<section id="quarterFinals">
<div></div>
<div></div>
<div></div>
<div></div>
</section>
<div class="connecter" id="conn2">
<div></div>
<div></div>
</div>
<div class="line" id="line2">
<div></div>
<div></div>
</div>
<section id="semiFinals">
<div></div>
<div></div>
</section>
<div class="connecter" id="conn3">
<div></div>
</div>
<div class="line" id="line3">
<div></div>
</div>
<section id="final">
<div></div>
</section>
</article>
<div class="tournament">
<div class="round quarter-finals">
<div class="match" >
<div class="player">Player 1</div>
<div class="player winner">Player 2</div>
</div>
<div class="match">
<div class="player winner">Player 3</div>
<div class="player">Player 4</div>
</div>
<div class="match">
<div class="player">Player 5</div>
<div class="player winner">Player 6</div>
</div>
<div class="match">
<div class="player">Player 7</div>
<div class="player">Player 8</div>
</div>
</div>
<div class="round semi-finals">
<div class="match">
<div class="player">Player 2</div>
<div class="player winner">Player 3</div>
</div>
<div class="match">
<div class="player">Player 6</div>
<div class="player">Player 7</div>
</div>
</div>
<div class="round finals">
<div class="match">
<div class="player">Player 3</div>
<div class="player"></div>
</div>
</div>
<div class="round">
<div class="champion">
<div class="player"></div>
</div>
</div>
</div>
.tournament{width:720px;}
.round{
float:left;
}
.player{
font-family:arial;
width:120px;
height:20px;
padding:10px;
background:#73789F;
color:white;
}
.player.winner{background:green;}
.match{
padding:5px 50px 5px 0px;
}
/*QUARTER-FINALS*/
.quarter-finals .match{
height:100px;
background:right top no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABkAQMAAAD+JvEYAAAAA3NCSVQICAjb4U/gAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBUaW1lADEwLzEwLzEyGAKeIwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAAnSURBVCiRY/gPBgcYhjoNBPZQ/v4hQjeAHD0I3IGXRgpXqsbXEKEB2yGL0P7iVKIAAAAASUVORK5CYII=);
}
.quarter-finals .player{
}
.quarter-finals .player:first-child{
margin-bottom:5px;
}
/*SEMI-FINALS*/
.semi-finals .match{
padding-top:30px;
height:185px;
background:right top no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAC5AQMAAABQhv7pAAAAA3NCSVQICAjb4U/gAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBUaW1lADEwLzEwLzEyGAKeIwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAArSURBVDiNY/gPBgcYRumBpYHAHsrfP0oPKboBFHmDwB2jNAk0Un77PwxoAJbztvAUr3KAAAAAAElFTkSuQmCC);
}
.semi-finals .player:first-child{
margin-bottom:70px;
}
/*FINALS*/
.finals .match{
padding-top:85px;
height:350px;
background:top right no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeAQMAAAD9sN5nAAAAA3NCSVQICAjb4U/gAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBUaW1lADEwLzEwLzEyGAKeIwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAA0SURBVEiJY/gPBgcYRulRepQmngYCeyh//yg9So/Sg45uAGXSQeCOUXqUHrI0Uj33fxjQAEJS8U50LMSKAAAAAElFTkSuQmCC);
}
.finals .player:first-child{
margin-bottom:180px;
}
/* CHAMP*/
.champion{padding-top:200px;}