倾斜类按钮中的文本不倾斜



>我用CSS类为我的网站创建了一个按钮,我希望它有一个平行四边形的形状,所以我使用了倾斜函数来创建形状。代码是正确的,按钮具有我想要的形状,但按钮内的文本在换行后也出现了偏差。有一种方法可以使文本看起来不像我的按钮内的斜塔?这是 html 代码:

<input type="submit" alt="submit" value="Login" class="button">

这就是按钮类的 CSS:

.button {
    float: top;
    width: 275px;
    height: 40px;
    margin-top: 6px;
    display: inline-block;
    font-family: Impact;
    text-align: center;
    -webkit-transform: skewX(20deg);
    -moz-transform: skewX(20deg);
    -o-transform: skewX(20deg);
    transform: skewX(20deg);
}

部分借调 Sidharth,我认为您不会绕过包装器元素来应用 CSS 转换,然后为其子元素(提交输入)重置它:

<div class="button-wrapper">
  <input type="submit" alt="submit" value="Login">
</div>

Sidharth 的回答意味着你完全隐藏了原始<input>,并依靠 JavaScript 在单击样式包装器时触发对它的点击,但这里有一个简单的解决方法:在:hover上设置button-wrapper样式,并从嵌套的 <input> -元素中删除所有样式并使其 100% 宽(jsBin 示例):

.button-wrapper {
  background: #fff;
  border: 1px solid #bbb;
  border-color: #ddd #ccc #bbb;
  overflow: hidden;
  -webkit-transform: skewX(20deg);
  -moz-transform: skewX(20deg);
  -o-transform: skewX(20deg);
  transform: skewX(20deg);
}
.button-wrapper:hover {
  background: #efe;
  border-color: #090;
}
.button-wrapper input {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
  padding: 4px 0;
  margin: 0;
  width: 100%;
  -webkit-transform: skewX(-20deg);
  -moz-transform: skewX(-20deg);
  -o-transform: skewX(-20deg);
  transform: skewX(-20deg);
}
.button-wrapper input:hover {
  color: #060;
}
我知道

几年过去了,但我刚刚遇到了同样的问题,发现简单地在文本上进行反向倾斜解决了我的问题,在我的代码中如下:

.yellowShape {
     background-color: rgba(244,255,88,0.92);
     padding: 3px;
     -webkit-transform: skew(20deg);
     transform: skew(20deg); 
}
.yellowShape p {
    -webkit-transform: skew(-20deg);
    transform: skew(-20deg); 
}

为"按钮"创建一个包装器,并将文本放入其中。但是,如果单击文本,则需要使用 javascript 来触发按钮上的"单击",否则它不会"传播"到按钮。

最新更新