Html 重新缩放表格单元格内的div

Html 重新缩放表格单元格内的div,html,css,rescale,Html,Css,Rescale,我试图在表的每一行中添加一个简单的向上/向下投票计数器。计数器基本上是一个由css形成的div容器,我将其插入一个表单元格中。但是,按原样,投票计数器会导致行膨胀。我尝试调整最上面的div容器的大小,但它只调整投票元素的大小。实际计数器的大小保持不变。我是css新手,所以我对事物还没有很好的感觉。重写CSS的最佳方法是什么,这样我就可以轻松地从最顶层缩放整个投票计数器,而不必手动更改所有子元素?这将是伟大的,如果我想把这个计数器在我的网站上的其他地方,而不是在一个表单元格 这是jsfiddle。

我试图在表的每一行中添加一个简单的向上/向下投票计数器。计数器基本上是一个由css形成的div容器,我将其插入一个表单元格中。但是,按原样,投票计数器会导致行膨胀。我尝试调整最上面的div容器的大小,但它只调整投票元素的大小。实际计数器的大小保持不变。我是css新手,所以我对事物还没有很好的感觉。重写CSS的最佳方法是什么,这样我就可以轻松地从最顶层缩放整个投票计数器,而不必手动更改所有子元素?这将是伟大的,如果我想把这个计数器在我的网站上的其他地方,而不是在一个表单元格

这是jsfiddle。

非常简单的html描述向上投票/向下投票计数器

<div class="vote circle">
    <div class="increment up"></div>
    <div class="increment down"></div>

    <div class="count">8</div>
</div>

你想让所有的桌子单元格都像这把小提琴一样高吗


如果是这样,将其添加到css
td{height:100px;}

好的,这是较小的
这是小提琴


不完全是。我想要相反的。我不想让牢房里的人那么胖。我想把计数器的比例缩小一点,使这一排稍微薄一点。在柜台很难辨认的地方不要太小,但要足够使排看起来不难看。不过谢谢你的提示。我不知道我能做到。你想让上下按钮更小吗?是的,还有数字计数器。当我调整向上和向下按钮的大小时,数字计数器div的比例不合适。我必须分别手动更改它的css属性。我希望整件东西都要小一些,但还是要按比例。理想情况下,我想改变投票的宽度和高度,并使所有内容都正确缩放。我用小提琴添加了另一个答案,但我想你要问的是,你想让圆圈按线的高度缩放吗?如果是这样的话,这不是不可能的,但需要大量的计算,在这一点上,这可能是不值得做的。这接近于我的想法。虽然它和我有同样的问题。例如,如果我将.vote宽度和高度更改为2rem,则.count div不会随之更改。这就是我需要的。我想把整个容器放大缩小。
.vote {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 10rem;
  height: 10rem;
}

.circle .up { border-radius: 10rem 10rem 0 0; }
.circle .down { border-radius: 0 0 10rem 10rem; }
.circle .count { border-radius: 50%; }

.up {
  background: #4BC35F;
  height: 50%;
  margin-bottom: 0.25rem;  
}
.down {
  background: #C15044;
  height: 50%;  
}

.increment {
  flex: 1 0 0;
  text-align: center;
  opacity: .5;
  transition: 0.3s;
  cursor: pointer;
}
.increment:hover { 
  opacity : 1;
}

.count {
  position: absolute;
  top: 0;
  background: rgba(245,245,245,1.0);
  border-radius: 0.1rem;
  margin: 2.5rem;
  width: 5rem;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 5rem;
  text-align: center;
  box-shadow: 0 0 0 0.5rem rgba(245,245,245,1.0);
  pointer-events: none;
}

html, body { height: 100%; }
td{height: 50px;}
.vote {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 5rem;
  height: 5rem;
  margin: 0px;

}

.circle .up { border-radius: 5rem 5rem 0 0; }
.circle .down { border-radius: 0 0 5rem 5rem; }
.circle .count { border-radius: 50%; }

.up {
  background: #4BC35F;
  height: 50%;
  margin-bottom: 0.25rem;  
}
.down {
  background: #C15044;
  height: 50%;  
}

.increment {
  flex: 1 0 0;
  text-align: center;
  opacity: .5;
  transition: 0.3s;
  cursor: pointer;
}
.increment:hover { 
  opacity : 1;
}

.count {
  position: absolute;
  top: 0;
  background: rgba(245,245,245,1.0);
  border-radius: 0.1rem;
  margin: 1.45rem;
  width: 2rem;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 2rem;
  text-align: center;
  box-shadow: 0 0 0 0.5rem rgba(245,245,245,1.0);
  pointer-events: none;

  &.upvoted { color: #4BC35F; }
  &.downvoted { color: #C15044; }
}

html, body { height: 100%; }