CSS:好玩的‘伪类’系列之——(:read-write与:read-only)

  • Post author:
  • Post category:其他



:read-write


定义:当一个元素(例如可输入文本的 input元素)

可以

被用户编辑时,修改样式。


触发条件:当一个元素是可编辑元素时,可以修改其样式


兼容:

IE不支持


:read-only


定义:当一个可编辑元素(例如可输入文本的 input元素)

不可

被用户编辑,即只读时(具有readonly属性时),修改样式。


触发条件:只针对当一个可编辑元素被赋予readonly(只读)属性时,可以修改其样式


兼容:

IE不支持



注意:



因为


:read-write和


:read-only均


针对

可编辑

元素,而HTML5新增了一个特性



contenteditable

属性,当任意一个元素拥有contenteditable属性,并且它的属性值为true时,该元素也属于可编辑元素。我们来看一个例子:

html代码:

  <div>
    <input type="text" value="我是一个可编辑的input元素" />
    <p contenteditable='true'>我是一个拥有contenteditable属性且值为true的p元素,同样可编辑</p>    
  </div>

css代码:

div{
  width: 50%;
  margin: 0 auto;
}
input{
  display: inline-block;
  width: 100%;
}
p{
  margin-top: 30px;
}
input:read-write {
  background-color: #ac0;
  color: blue;
}
p:read-write {
  background-color: #ac0;
  color: blue;
}

效果图:

了解了HTML5的这一新特性,我们再回到本文,看一个例子:

html代码:

  <div>
    <input type="text" value="我是一个可编辑的input元素" />
    <input type="text" value="我是一个不可编辑的input元素" readonly />
    <p contenteditable='true'>我是一个拥有contenteditable属性且值为true的p元素,同样可编辑</p>
    <p contenteditable='false'>我是一个拥有contenteditable属性且值为false的只读p元素,不可编辑</p>
  </div>

css代码:

div{
  width: 50%;
  margin: 0 auto;
}
input{
  display: inline-block;
  width: 100%;
}
p,input{
  margin-top: 30px;
}
input:read-write,p:read-write {
  background-color: #ac0;
  color: blue;
}
input:read-only,p:read-only {
  background-color: #003399;
  color: #fff;
}

效果图:



版权声明:本文为gavincz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。