html - 如何旋转按钮元素背景而不是按钮本身

标签 html css twitter-bootstrap-3 background background-image

我试图在我的按钮内旋转背景图像,但我似乎只得到我指定的背景颜色,而不是顶部的背景图像。我有照片的透明部分,可以在按钮上创建拱形外观。 这是我的 CSS:

#sign-in-button > div > button.btn.btn-default {
    color: #fff;
    background-color: #da1a32; 
    position: relative;
    overflow: hidden;'

/*  background-image: url('/images/arch-red-flip.png'); */
/*  background-repeat: no-repeat; */
/*  background-size: cover; */  
}

#sign-in-button > div > button.btn.btn-default:before {
    content: "";
    position: absolute;
    z-index: -1;
    background-size: cover;
    transform: rotate(30deg);
    background-image: url('/images/arch-red-flip.png') 0 0 no-repeat;
 }

<div class="col-sm-12">
    <div class="col-sm-6" id="right-border">
        <div class="row" id="sign-in-button">
            <div class="col-xs-3"></div>
            <div class="col-xs-4"></div>
            <div class="col-xs-5">
                <button type="button" class="btn btn-default">SIGN IN</button>
            </div>
        </div>
    </div>
</div>

最佳答案

这是因为您在 background-image 属性上使用了 background shorthand 符号。

button.btn.btn-default {
  color: #fff;
  background-color: #da1a32;
  position: relative;
  overflow: hidden;
  padding: 3em;
}

button.btn.btn-default::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  transform: rotate(30deg);
  background: url(https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded) 0 0 no-repeat;
  background-size: contain;
}
<button type="button" class="btn btn-default">SIGN IN</button>

但请注意,图像将位于文本之上,使用 z-index:-1 将导致伪元素被放置在按钮下方。 ..我会推荐一个内部跨度来解决这个问题。

button.btn.btn-default {
  color: #fff;
  background-color: #da1a32;
  position: relative;
  overflow: hidden;
  padding: 3em;
}

button.btn.btn-default span {
  position: relative;
}

button.btn.btn-default::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  transform: rotate(30deg);
  background: url(https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded) 0 0 no-repeat;
  background-size: contain;
}
<button type="button" class="btn btn-default"><span>SIGN IN</span></button>

关于html - 如何旋转按钮元素背景而不是按钮本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524721/

相关文章:

javascript - 如何在 Bootstrap 模式中从 MySQL 打开图像?

html - 我如何修复 col-xs-* 中的 Bootstrap 输入组溢出?

css - Bootstrap 3 和 .col-xs-*——你不需要 12 个单位的行吗?

使用 html 实体的 Javascript replace() 不起作用

javascript - 作为 css 选择器的 polymer 属性不起作用

javascript - 在 div 中拖放列表元素

html - 以中间一个为中心的三个 float div

javascript - 悬停推送内容

Javascript onclick 函数更改元素的所有实例?

python 3 : Write newlines to HTML