仅水平收缩flexbox

时间:2020-04-19 01:29:39

标签: html css flexbox

我一直在尝试创建一个自定义的共享按钮(适用于Google教室),似乎flexbox是使文本居中的最佳方法。我正在创建共享按钮,所以我有图像和文字。这是我目前的代码:

ugrep -z "sometext" file.jar
a {
  border-color: green;
  border-style: solid;
  color: white;
  border-radius: 3px;
  text-decoration: none;
  background-color: green;
  font-family: calibri;
  display: flex-shrink;
  justify-content: center;
  align-items: center;
}

img {
  padding: 5px;
  height: 32px;
}

span {
padding: 5px;
}

它应该做一个漂亮的圆形按钮,左侧带有Google Classroom徽标,右侧带有文本。但是,按钮的背景会缩小到图像的上方。

我尝试不使用flex-shrink来使用它。然后,它会填满整个页面,尽管它确实覆盖了图像的背景,但这并不是通常的共享按钮。我也尝试过设置跨度的高度和字体大小。高度不执行任何操作,如果我执行字体大小操作,则会被截断。我也在图像上尝试过<a href="https://classroom.google.com/share?url=http://example.com"> <img src="https://ktibow.github.io/classroom-logo.png"\> <span>Share to Classroom</span> </a>。有人知道如何解决吗?

2 个答案:

答案 0 :(得分:0)

a {
  border-color: green;
  border-style: solid;
  color: white;
  border-radius: 15px;
  text-decoration: none;
  background-color: green;
  font-family: calibri;
  display: flex-shrink;
  justify-content: center align-items: center;
 position: absolute;
display: flex;
}

img {
  padding: 10px;
  height:  30px;

}

span {
 margin-top: 15px;
}

我不知道这是否是您要实现的目标。 虽然不是最好的方法

答案 1 :(得分:0)

新设计

我使用a标签display: inline-block

然后将img移至position: absolute

我认为现在看起来更好了

a {
  text-decoration: none;
  display: inline-block;
  margin: 10px 5px 10px 24px;
  position: relative;
}

img {
  position: absolute;
  border-radius: 50%;
  height: 38px;
  top: -10px;
  left: -18px;

}

span {
  padding: 3px 5px 3px 24px;
  background-color: green;
  border-radius: 3px;
  color: white;
  font-family: calibri;
}
<a href="https://classroom.google.com/share?url=http://example.com">
    <img src="https://ktibow.github.io/classroom-logo.png"\>
    <span>Share to Classroom</span>
</a>

或者像ppl用display: inline-flex

所写

a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  margin: 10px 5px 10px 24px;
  background-color: green;
  border-radius: 3px;
  padding: 5px;
}

img {
  height: 38px;
}

span {
  padding: 5px;
  color: white;
  font-family: calibri;
}
<a href="https://classroom.google.com/share?url=http://example.com">
    <img src="https://ktibow.github.io/classroom-logo.png"\>
    <span>Share to Classroom</span>
</a>