Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CSS创建列栏(如图表)_Css - Fatal编程技术网

使用CSS创建列栏(如图表)

使用CSS创建列栏(如图表),css,Css,我不是CSS方面的专家。是否有人可以帮助您使用纯CSS创建如下列?假设这些列可以是固定高度的,您可以将其编码为: 上校{ 宽度:100px; 浮动:左; 背景:灰色; 右边距:10px; 填充:20px; 位置:相对位置; } 上校一号{ 高度:200px; } 上校二{ 高度:180像素; 边缘顶部:20px; } 中校{ 位置:绝对位置; 底部:40px; 边框底部:1px纯白; 垫底:10px; } p.bottom上校{ 位置:绝对位置; 底部:10px; } 这里有一些文字 这里有

我不是CSS方面的专家。是否有人可以帮助您使用纯CSS创建如下列?

假设这些列可以是固定高度的,您可以将其编码为:


上校{
宽度:100px;
浮动:左;
背景:灰色;
右边距:10px;
填充:20px;
位置:相对位置;
}
上校一号{
高度:200px;
}
上校二{
高度:180像素;
边缘顶部:20px;
}
中校{
位置:绝对位置;
底部:40px;
边框底部:1px纯白;
垫底:10px;
}
p.bottom上校{
位置:绝对位置;
底部:10px;
}

这里有一些文字

这里有一些文字

这里有一些文字

这里有一些文字

这里有一些文字

这里有一些文字


也许这会给你一些想法: 我通常只使用div并通过css和/或javascript控制它们,这取决于您的列是动态的还是静态的。更漂亮的方法是SVG,因为它可以在以下位置找到一个整洁的库:


祝你今天愉快

考虑到这些描述,这就成了一个更难的问题。条形图相对简单,可以使用语义标记构建(尽管这可能会有所改进):

这是一个有效的演示:

我添加了两个示例类,它们假设从1到10的比例,尽管手动将高度设置为内联样式或将其设置为数据属性并使用JavaScript更新高度可能更为实际。我会让你自己来决定

将描述保持在与条形图相同的元素中可能很棘手,因为这样会造成列与每列中的任意点对齐的情况。不需要更多地使用它,我会为描述创建一个单独的列表,并对其进行样式设置,使其位于图表下方,如下所示:

<ul class="graph bars">
    <li><!-- stuff here --></li>
</ul>

<ul class="graph descriptions">
    <li><!-- description here --></li>
</ul>
然后修改样式,以便在
.bar
中应用颜色和位置,但也应用固定的with to
.graph li
以对齐条形图和说明


复杂性完全取决于您希望布局的灵活性。我建议你投入进去,看看你能取得什么成就,玩选择器和规则,直到你得到你需要的效果。我故意对其中一些要点含糊其辞,这样你就有机会了解哪些有效,哪些无效。

它完成了任务,但额外的类有点多,而且没有利用语义容器。还有,这个描述是怎样的呢?A-List-Apart的文章并不是真的在谈论同一件事。是的,但是这个家伙想学习css和专栏,所以这些都是关于这个主题的一些很好的链接。另外,您可以编写这些列表并对元素应用颜色以实现上述结果。谢谢@derekerdmann,我已经更新了图表,使其变得有点复杂了。@nilpun-我不会为您编写完整的解决方案。唯一需要更改的是,您可能需要手动将详图索引项放置在侧面。
<ul class="graph">

  <li class="height10">
    <h1>Category 1</h1>
    <div>
      <h2>Subtitle</h2>
      <p>More text</p>
    </div>
  </li>

  <li class="height9">
    <h1>Category 2</h1>
    <div>
      <h2>Subtitle</h2>
      <p>More text</p>
    </div>
  </li>

</ul>
.height10 { height: 300px; }
.height9 { height: 270px }
/** add more through height1 **/

h1, h2, p { margin: 0; padding: 0; }
h1 { margin: 0.5em; }

li {
  margin-right: 0.5em;
  display: inline-block;
  background: #9f9;
  position: relative;
  vertical-align: bottom;
}

li div {
  margin: 1em;
  position: absolute;
  left: 0; bottom: 0;
}
<ul class="graph bars">
    <li><!-- stuff here --></li>
</ul>

<ul class="graph descriptions">
    <li><!-- description here --></li>
</ul>