这是我从 undefined(另一个用户)最初发布的方法中改进的一种方法,后来由于某种原因被删除。这绝不应该被解释为最终方法,但它展示了如何创建一个带有左/右/上/下手柄的边界框,所有这些都是由 CSS 添加的。
HTML
<div id='container' class='boundary top-bottom'>
<div class='boundary left-right'>
<div class='contents'></div>
</div>
</div>
CSS
#container {
width: 300px;
height: 300px;
margin: 50px;
}
.contents {
cursor: default;
background: green;
width: 100%;
height: 100%;
}
.boundary {
background: blue;
padding: 10px;
}
.boundary.top-bottom {
cursor: row-resize;
padding-left: 0;
padding-right: 0;
}
.boundary.left-right {
cursor: col-resize;
padding-bottom: 0;
padding-top: 0;
width: 280px;
height: 300px;
}
http://jsfiddle.net/userdude/V5h5F/1/
处理诸如需要边框和不可见重叠之类的事情需要进行一些改造,可能使用 Javascript 之类的东西,而内部boundary
是边框;我认为在纯 CSS 中这样做的复杂性是有问题的(未定义的答案用position
边界上的 ed 元素处理了这个问题)。