susy标题栏不居中

时间:2016-10-13 21:51:24

标签: css sass susy

我正在尝试理解scss,我正在使用susy来创建网格系统。

我的基本设置是:

$susy: (
    columns: 12,
    gutters: 1/4,
    math: fluid,
    output: float,
    gutter-position: inside,

);

我有一些分歧:

#border{
    @include container;
    @include clearfix;
 }

#logo{
    @include span(3 of 12);
 }

 #title{
    @include span(8 of 12);
}

这意味着徽标确实显示在左侧,但我无法将标题置于中心位置。我厌倦了在鸿沟周围划出边界,看看出了什么问题:

#title{
  position: relative;
  border: 5px solid green;
  h1 {
    color: white;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}

边框是预期的宽度,但只是文本的高度,而不是框的高度。

如何将标题文字居中,理想情况下自动计算徽标图像的宽度?我觉得将徽标设置为(3个中的12个)跨度可能会在小屏幕上结束。我真的只想让标题和标题在标题上彼此相邻,标题垂直居中。

title bar

1 个答案:

答案 0 :(得分:0)

处理垂直居中的最佳方法是使用flexbox。 Flexbox还将解决您的并排布局。

我不知道你的标记,但是这样的话:

.banner {
  display: flex;
  align-items: center; // vertical centering

  .logo {
    flex: 0 0 auto; // logo wont flex
  }

  .title {
    flex: 1 1 auto; // title will grow and shrink
  }
}

您可能根本不需要Susy,但如果您希望徽标与网格对齐,则可以将其与flexbox一起使用。将auto替换为span(3 of 12),徽标将从Susy获得其宽度。