使用css将页面更改为编辑模式

Changing a page to edit mode using css

本文关键字:编辑 模式 css 使用      更新时间:2023-09-26

我不确定如果这是完全可能的,现在一天,但我可以改变一个页面的视图后,点击一个按钮没有javascript和使用css代替?

我目前正在显示一个页面的信息,一旦用户单击编辑按钮-而不是去不同的页面,用户将能够在同一视图中进行更改。

这是页面显示给用户的方式:jsFiddle of display

<div>living the dream</div>
<hr/>
<div>
    <p>Lorem ipsum dolor sit amet...</p>
</div>
<div>Edit button</div>

下面是用户点击编辑按钮后页面的样子:jsFiddle of edit view

<div class="page" contenteditable>living the dream</div>
<hr/>
<div class="content" contenteditable>
    <p>Lorem ipsum dolor sit amet...</p>
</div>

所以类将被隐藏直到编辑按钮被点击然后它们将被添加到div

我可以完成这只是css,如果不是我的替代品,而不是javascript?

你能这样做吗?使用复选框hack可以切换到contenteditable模式

Codepen http://codepen.io/noobskie/pen/gaXqgm?editors=110

问题是我不确定如何保存它,因为我从来没有真正使用过可编辑的内容,我不确定你是否可以动态地选择值

input[type=checkbox] {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
input[type=checkbox]:checked ~ div {
  display: inline;
}
.container {
  display: none;
  position: absolute;
  top: 9px;
  left: 8px;
  right: 8px;
  width: auto;
}
.page {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
  background-color: white;
  background-color: -moz-field;
  border: 1px solid darkgray;
  border-radius: 3px;
  box-shadow: 1px 1px 1px 0 lightgray inset;
  font: -moz-field;
  text-align: left;
  padding-top: 9px;
  padding-left: 10px;
  height: 25px;
}
.content {
  -moz-appearance: textfield-multiline;
  -webkit-appearance: textarea;
  background-color: white;
  border: 1px solid gray;
  border-radius: 5px;
  font: medium -moz-fixed;
  height: 128px;
  overflow: auto;
  padding: 2px;
  resize: both;
  position: relative;
  bottom: 12px;
}
<div>living the dream</div>
<hr/>
<div>
    <p>Lorem ipsum dolor sit amet...</p>
</div>
<input type="checkbox" id="button" />
<label for="button" onclick>Edit Button</label>
<div class="container">
  <div class="page" contenteditable>living the dream</div>
  <hr/>
  <div class="content" contenteditable>
      <p>Lorem ipsum dolor sit amet...</p>
  </div>
<input type="checkbox" id="button" />
<label for="button" onclick>Save Button</label>
</div>