使用CSS3创建此形状

使用CSS3创建此形状,css,css-shapes,Css,Css Shapes,我想创建这个形状只使用css。我相信这是可以做到的。但我在涉及梯度时遇到了麻烦 此形状内部将包含一些文本。建议的html标记为: <div class="container"> ... more html contents... </div> ... 更多html内容。。。 A将不胜感激。 提前感谢。请学习CSS3,试试Nicholas Gallagher教程,他有一些最好的CSS3教程: 你在找什么 我想你需要自己来做你想要的阴影和颜色。试试这个 CSS

我想创建这个形状只使用css。我相信这是可以做到的。但我在涉及梯度时遇到了麻烦

此形状内部将包含一些文本。建议的html标记为:

<div class="container">
    ... more html contents...
</div>

... 更多html内容。。。

A将不胜感激。

提前感谢。

请学习CSS3,试试Nicholas Gallagher教程,他有一些最好的CSS3教程: 你在找什么

我想你需要自己来做你想要的阴影和颜色。

试试这个

CSS:(从小提琴中)

就在这里:


您只需要一个div(多亏了pseudo元素),但我还没有“切入”这个角落。

您尝试了什么?你怎么能期望画出这样一个不规则的形状,完全用CSS,没有图像?如果你看到的话,它就是不规则的。我可以被认为是两个矩形。大问题是显而易见的。右上角较小的一个,对角线的一半是透明的。只是想知道是否有任何技术,我可以按照写css的。谢谢。。。让我看看。颜色显然不是大问题。我不能;我不知道把内容放在哪里。我应该能够在里面放置一些内容,比如
。您可以将内容放置在主分区中,并在其中添加一些填充。好的,谢谢。。。!!我只是想知道,你认为这也可以通过使用伪元素来实现吗?“是的,你应该能够通过使用
:before
来实现这一点。
.main {
    background: -moz-linear-gradient(top, #ffffff 0%, #e8e8e8 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* IE10+ */
    background: linear-gradient(to bottom, #ffffff 0%,#e8e8e8 100%); /* W3C */
    position: relative;
    width: 150px;
    height: 100px;
    margin: 10px;
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    padding: 20px;
}

.main:before {
    content: '';
    display: block;
    top: -1px;
    right: -1px;
    width: 20px;
    height: 20px;
    background: -moz-linear-gradient(top, #ffffff 0%, #e8e8e8 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #ffffff 0%,#e8e8e8 100%); /* IE10+ */
    background: linear-gradient(to bottom, #ffffff 0%,#e8e8e8 100%); /* W3C */
    position: absolute;
    border-radius: 0 0 0 5px;
    border-left: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
}

.main:after {
    content: '';
    display: block;
    position: absolute;
    top: -1px;
    right: -1px;
    border-top: 20px solid #fff; 
    border-left: 20px solid transparent;
}