Chr*_*odz 9 javascript css jquery
在找了一段时间寻找解决方案后,我没有提出任何问题.我要做的是在第一个li元素的top left角落创建一个对角线边框..我尝试使用涉及该background属性的解决方案,但它并没有给我我想要的东西.此外,它不允许对以后需要的颜色进行任何操作.
浅蓝色应该是被切割的边框(而不是被切割的背景),深灰色应该是背景li.
我怎样才能通过CSS实现这一目标?JS/Jquery解决方案也可以使用.
编辑:在看到我的问题的许多错误解释后,我会澄清一点:
左图是我现在拥有的,右图应该是结果.

.cal-scheme {
width: 100%;
li {
width: calc(100% / 6);
height: 150px;
margin: 0;
padding: 0;
border: $thin-blue;
box-sizing: border-box;
float: left;
&:first-child {
background: linear-gradient(135deg, transparent 20px, $light-blue 0);
border: 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我理解的问题,你需要的东西像这样
HTML:
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS:
body {
background: darkgrey;
}
li {
display: block;
list-style: none;
width: 200px;
height: 50px;
background: lightblue;
position: relative;
border: 10px solid lightblue;
margin-top: 5px;
}
li:first-child:after {
content: '';
display: block;
width: 0;
height: 0;
border: 15px solid transparent;
border-right-color: darkgrey;
position: absolute;
top: -15px;
left: -15px;
transform: rotate(45deg);
}
Run Code Online (Sandbox Code Playgroud)
更新:
你无法用border-radius实现.只是使用CSS形状,或像这个更新的小提琴黑客
HTML:
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS:
body {
background: darkgrey;
}
li {
display: block;
list-style: none;
width: 200px;
height: 50px;
background: darkgrey;
position: relative;
border: 2px solid lightblue;
margin-top: 5px;
}
li:first-child:after {
content: '';
display: block;
width: 30px;
height: 30px;
background: darkgrey;
border-right: 2px solid lightblue;
position: absolute;
top: -17px;
left: -17px;
transform: rotate(45deg);
}
Run Code Online (Sandbox Code Playgroud)