6

是否可以仅使用 HTML 和 CSS 创建像这样的 L 形边框?

L 形边框

编辑:这就是我目前所拥有的:http: //jsfiddle.net/cBwh8/

Edit2:我希望复制上面的图片——适当弯曲的圆角。这是我在这里遇到困难的主要原因:http: //jsfiddle.net/cBwh8/1/

4

6 回答 6

5

是的。

http://jsfiddle.net/HwKGx/1/

<div id="one">
    <div id="two">&nbsp;</div>
</div>   
#one {
    margin:10px;
    width:45px;
    height:75px;
    border:2px solid #333; }
#two{
    float:left;
    width:35px;
    height:65px;
    border-width:2px;
    border-style:solid;
    margin:-2px 0 0 -2px;
    border-color:#FFF #333 #333 #FFF;
}​
于 2012-06-06T21:25:25.327 回答
5

试试这个:为我工作

div.outer {
    margin: 10px;
    width: 200px;
    height: 200px;
    border: 1px solid blue;
    border-radius: 10px;
}

div.inner {
    width: 160px;
    height: 160px;
    border-right: 1px solid blue;
    border-bottom: 1px solid blue;
    margin-top:-1px;
    margin-left:-1px;
    background:#FFF;
}
于 2012-06-06T21:32:29.983 回答
2

有点棘手,但玩得很开心

.left{float:left}
.right{float:right}
#container{border-right:1px solid #000;border-bottom:1px solid #000;width:300px;height:300px;margin:100px auto;}
#leftBox{width:70%;height:69%;border-right:1px solid #000;border-bottom:1px solid #000;}
#leftBox2{border-left:1px solid #000;width:100%;height:29%;}
#rightBox{width:29%;height:70%;border-top:1px solid #000;}

和标记

<div id="container">
<div id="leftBox" class="left"></div>
<div id="rightBox" class="right"></div>
<div id="leftBox2" class="left"></div>

于 2012-06-06T21:28:51.093 回答
2

一个稍微复杂但有用的选项:

http://dabblet.com/gist/2884899

这是两个兄弟元素,绝对且相对定位,z-indexed 以相互溢出。顶部 div 隐藏底部 div 的顶部边框。

这对于下拉菜单特别有用。(要有一个带边框的框,用上下文菜单展开)

编辑(从链接粘贴的代码):

HTML

<div class="holder">
  <div class="top"></div>
  <div class="bottom"></div>
</div>

CSS

.holder{    
  position:relative; 
}

.top{   
  width: 50px;  
  height:50px;
  background:red;
  border:blue solid 2px;
  border-bottom:none;
  position:relative;
  z-index:4;
} 

.bottom{
  z-index:2;
  width: 100px;
  height: 100px;
  position:absolute;
  top:50px;
  left:0;
  border: blue solid 2px;
  background:red;

}

于 2012-06-06T21:29:32.673 回答
2

对于任何感兴趣的人,这里有一组 L 形的字段集:

JSFiddler 代码

HTML:

    <div>
        <fieldset class="topPortion">
            <legend>Some legend</legend>
            <input type="text" value="Foo" />
            <input type="submit" value="Submit" />
        </fieldset>
        <fieldset class="bottomPortion">        
            <input type="text" value="Foo" />
            <input type="submit" value="Submit" />
        </fieldset>
     </div>

CSS:

fieldset.topPortion 
{
border: 1px solid red;
border-bottom: 0;
/*top: 20px;*/
padding: 5px 5px;
position: relative;
width: 250px;
z-index: 100;
background-color: yellow;
top: 1px;
border-radius: 5px 5px 0 0;
}

fieldset.bottomPortion
{
border: 1px solid red;
width: 500px;
height: 100px;
position: absolute;
z-index: 1;
margin-top: -10;
padding: 5px 10px;
background-color: yellow;
border-radius: 0 5px 5px 5px;
}
于 2014-01-20T21:23:57.140 回答
1

NECRO,实际上我刚刚遇到了这个问题,这是我发现的第一个帖子,所以我想补充一点,以防其他人遇到问题或问题仍然存在。使用您链接的edit2,将“border-radius”更改为“border-bottom-right-radius”,这使得它只有右下角最终被圆形,从而修复了奇怪的圆形/褪色边缘。

您还可以添加诸如 -moz-border-radius-bottomleft: 10px; 之类的内容。-webkit-border-bottom-left-radius: 10px; 如果您想为旧版浏览器提供更多支持。

于 2015-05-20T04:50:41.843 回答