HTML 5_CSS 3_JavaScript讲义(五)-级联样

2017-12-12  本文已影响0人  android小菜鸡一枚

(1).CSS样式单基本使用

1.引入外部样式文件:

<link type="text/css" rel="stylesheet" href="CSS样式文件的URL">

2.导入外部样式单:

<style type="text/css">
@import "outer.css"
@import url("mycss.css")
</style>

3.使用内部CSS样式:

<style type="text/css">
样式单文件定义
</style>

<!DOCTYPE html>
<html>
<head>
  <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
  <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  <title> 内部样式单 </title>
  <style type="text/css">
      table {
          background-color: #003366;
      }
      td {
          background-color: #FFFFFF;
          font-family: "楷体_GB2312";
          font-size: 20pt;
          text-shadow: -8px 6px 2px #333;
      }
      .title {
          font-size: 18px;
          color: #60C;
          height: 30px;
          width: 200px;
          border-top: 3px solid #CCCCCC;
          border-left: 3px solid #CCCCCC;
          border-bottom: 3px solid #000000;
          border-right: 3px solid #000000;
      }
  </style>
</head>
<body>
<div class="title">
疯狂Java体系图书:
</div><hr />
<table>
  <tr>
      <td>疯狂Java讲义</td><td>轻量级Java EE企业应用实战</td>
  </tr>
  <tr>
      <td>疯狂Android讲义</td><td>经典Java EE企业应用实战</td>
  </tr>
  <tr>
      <td>疯狂Ajax讲义</td><td>疯狂XML讲义</td>
  </tr>
</table>
</body>
</html>
image.png

4.使用内联样式

style="property1:value1;property2:value2;"

(2)CSS选择器

1.元素选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 元素选择器 </title>
    <style type="text/css">
        /* 定义对div元素起作用的CSS样式 */
        div{
            background-color: grey;
            font: italic normal bold 14pt normal 楷体_GB2312;
        }
        /* 定义对p元素起作用的CSS样式 */
        p{
            background-color: #444;
            color:#fff;
            font: normal small-caps bold 20pt normal 宋体;
        }
    </style>
</head>
<body>
<div>div内的文字</div>
<p>p内的文字</p>
</body>
</html>
元素选择器

2.属性选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 属性选择器 </title>
    <style type="text/css">
    /* 对所有div元素都起作用的CSS样式 */
    div {
        width:300px;
        height:30px;
        background-color:#eee;
        border:1px solid black;
        padding:10px;
    }
    /* 对有id属性的div元素起作用的CSS样式 */
    div[id] {
        background-color:#aaa;
    }
    /* 对有id属性值包含xx的div元素起作用的CSS样式 */
    div[id*=xx] {
        background-color:#999;
    }
    /* 对有id属性值以xx开头的div元素起作用的CSS样式 */
    div[id^=xx] {
        background-color:#555;
        color:#fff;
    }
    /* 对有id属性值等于xx的div元素起作用的CSS样式 */
    div[id=xx] {
        background-color:#111;
        color:#fff;
    }
    </style>
</head>
<body>
<div>没有任何属性的div元素</div>
<div id="a">带id属性的div元素</div>
<div id="zzxx">id属性值包含xx子字符串的div元素</div>
<div id="xxyy">id属性值以xx开头的div元素</div>
<div id="xx">id属性值为xx的div元素</div>
</body>
</html>

属性选择器

3.ID选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>ID选择器</title>
    <style type="text/css">
    /* 对所有div元素都起作用的CSS样式 */
    div {
        width:200px;
        height:30px;
        background-color:#ddd;
        padding:3px;
    }
    /* 对id为xx的元素起作用的CSS样式 */
    #xx {
        border:2px dotted black;
        background-color:#888;
    }
    </style>
</head>
<body>
<div>没有任何属性的div元素</div>
<div id="xx">id属性值为xx的div元素</div>
</body>
</html>
ID选择器

4.class选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>class选择器测试</title>
    <style type="text/css">
    /* 对所有class为myclass的元素都起作用的CSS样式 */
    .myclass {
        width:240px;
        height:40px;
        background-color:#dddddd;
    }
    /* 对class为myclass的div元素起作用的CSS样式 */
    div.myclass {
        border:2px dotted black;
        background-color:#888888;
    }
    </style>
</head>
<body>
<div class="myclass">class属性为myclass的div元素</div>
<p class="myclass">class属性为myclass的p元素</p>
</body>
</html>

class选择器

5.包含选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>包含选择器测试</title>
    <style type="text/css">
    /* 对所有的div元素起作用的CSS样式 */
    div {
        width:350px;
        height:60px;
        background-color:#ddd;
        margin:5px;
    }
    /* 对处于div之内、且class属性为a的元素起作用的CSS样式*/
    div .a {
        width:200px;
        height:35px;
        border:2px dotted black;
        background-color:#888;
    }
    </style>
</head>
<body>
<div>没有任何属性的div元素</div>
<div><section><div class="a">处于div之内且class属性为a的元素</div></section></div>
<p class="a">没有处于div之内、但class属性为a的元素</p>
</body>
</html>

包含选择器

6.子选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 子选择器 </title>
    <style type="text/css">
    /* 对所有的div元素起作用的CSS样式 */
    div {
        width:350px;
        height:60px;
        background-color:#ddd;
        margin:5px;
    }
    /* 对处于div之内、且class属性为a的元素起作用的CSS样式*/
    div>.a {
        width:200px;
        height:35px;
        border:2px dotted black;
        background-color:#888;
    }
    </style>
</head>
<body>
<div>没有任何属性的div元素</div>
<div><p class="a">class属性为a、且是div子节点的元素</p></div>
<div><section><p class="a">class属性为a、且处于div内部的元素</p></section></div>
</body>
</html>

子选择器

7.兄弟选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> E~F伪类选择器 </title>
    <style type="text/css">
        /* 匹配id为android的元素后面、class属性为long的兄弟节点 */
        #android ~ .long{
            background-color: #00FF00;
        }
    </style>
</head>
<body>
<div>
    <div>疯狂Java讲义</div>
    <div class="long">轻量级Java EE企业应用实战</div>
    <div id="android">疯狂Android讲义</div>
    <p class="long">经典Java EE企业应用实战</p>
    <div class="long">JavaScript权威指南</div>
</div>
</body>
</html>

兄弟选择器

8.组合选择器

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 选择器组合 </title>
    <style type="text/css">
    /* div元素、class属性为a的元素、id为abc的元素都起作用的CSS样式 */
    div,.a,#abc {
        width:200px;
        height:35px;
        border:2px dotted black;
        background-color:#888;
    }
    </style>
</head>
<body>
<div>没有任何属性的div元素</div>
<p class="a">class属性为a的元素</p>
<section id="abc">id为abc的元素</section>
</body>
</html>
组合选择器

(3)伪元素选择器

:first-letter

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :first-letter </title>
    <style type="text/css">
        span {
            display:block;
        }
        /* span元素里第一个字母加粗、变蓝
        由于span是内联元素,因此需要先把span的display设为block
        */
        span:first-letter{
            color:#f00;
            font-size:20pt;
        }
        /* section元素里第一个字母加粗、变蓝 */
        section:first-letter{
            color:#00f;
            font-size:30pt;
            font-weight:bold;
        }
        /* p元素里第一个字母加粗、变蓝 */
        p:first-letter{
            color:#00f;
            font-size:40pt;
            font-weight:bold;
        }
    </style>
</head>
<body>
<span>abc</span>
<section>其实我是一个程序员</section>
<p>疯狂Java讲义</p>
</body>
</html>
first-letter

:first-line

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :first-line </title>
    <style type="text/css">
        span {
            display:block;
        }
        /* span元素里第一行文字的字体加大、变红
        由于span是内联元素,因此需要先把span的display设为block
        */
        span:first-line{
            color:#f00;
            font-size:20pt;
        }
        /* section元素里第一行文字的字体加大、变蓝 */
        section:first-line{
            color:#00f;
            font-size:30pt;
        }
        /* p元素里第一行文字的字体加大、变蓝 */
        p:first-line{
            color:#00f;
            font-size:30pt;
        }
    </style>
</head>
<body>
<span>abc<br/>xyz</span>
<section>去年今日此门中,<br/>
人面桃花相印红。</section>
<p style="width:160px">疯狂Java讲义</p>
</body>
</html>
first-line

:before
:after

1.内容相关的属性

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> content </title>
    <style type="text/css">
        /* 指定对于div元素内部的前端插入content属性对应的内容 */
        div>div:before{
            content: 'CrazyIt:';
            color:blue;
            font-weight:bold;
            background-color:gray;
        }
    </style>
</head>
<body>
    <div>
    <div>疯狂Java讲义</div>
    <div>疯狂Android讲义</div>
    <div>轻量级Java EE企业应用实战</div>
    </div>
</body>
</html>

2.插入图像

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> content </title>
    <style type="text/css">
        /* 指定对于div元素内部的尾端插入content属性对应的内容 */
        div>div:after{
            content: url("wjc.gif");
        }
    </style>
</head>
<body>
    <div>
    <div>疯狂Java讲义</div>
    <div>疯狂Android讲义</div>
    <div>轻量级Java EE企业应用实战</div>
    </div>
</body>
</html>
image.png

3.只插入部分元素

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> new document </title>
    <style type="text/css">
        /* 指定对于class属性为no的div元素内部的尾端插入content属性对应的内容 */
        div>div.no:after{
            content: url("buy.gif");
        }
    </style>
</head>
<body>
    <div>
    <div class="no">疯狂Java讲义</div>
    <div class="no">疯狂Android讲义</div>
    <div>轻量级Java EE企业应用实战</div>
    </div>
</body>
</html>
image.png

4.配合quotes属性执行插入

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 添加符号 </title>
    <style type="text/css">
        /* 定义open-quote为<<,close-quote为>> */
        div>div{
            quotes: "<<" ">>";
        }
        /* 指定为div的子div的前端插入open-quote */
        div>div:before{
            content: open-quote;
        }
        /* 指定为div的子div的尾端插入close-quote */
        div>div:after{
            content: close-quote;
        }
    </style>
</head>
<body>
    <div>
    <div>疯狂Java讲义</div>
    <div>疯狂Android讲义</div>
    <div>轻量级Java EE企业应用实战</div>
    </div>
</body>
</html>
image.png

5.配合counter-increment属性添加编号

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> 添加编号 </title>
    <style type="text/css">
        /* 为div的子div元素定义了一个计数器:mycounter */
        div>div{
            counter-increment: mycounter;
        }
        /* 在div的子div元素的前端插入mycounter计数器和一个点  */
        div>div:before{
            content: counter(mycounter) '.';
            font-size: 20pt;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div>
    <div>疯狂Java讲义</div>
    <div>疯狂Android讲义</div>
    <div>轻量级Java EE企业应用实战</div>
    </div>
</body>
</html>
image.png

(4)CSS3.0新增的伪类选择器

1.结构性伪类选择器

:root 匹配HTML文档的根元素<html>

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :root伪选择器 </title>
    <style type="text/css">
        :root {
            background-color: #ccc;
        }
        body {
            background-color: #888;
        }
    </style>
</head>
<body>
疯狂Java讲义<br/>轻量级Java EE企业应用实战<br/>
疯狂Ajax讲义<br/>疯狂XML讲义<br/>
经典Java EE企业应用实战<br/>疯狂Android讲义<br/>
</body>
</html>
image.png

:first-child 父元素的第一个子节点
:last-child 父元素的最后一个子节点
:nth-child 父元素的第n个子节点
:nth-last-child 父元素倒数第n个子节点
:only-child 父元素唯一的子节点

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :child </title>
    <style type="text/css">
        /* 定义对作为其父元素的第一个子节点的li元素起作用的CSS样式 */
        li:first-child {
            border: 1px solid black;
        }
        /* 定义对作为其父元素的最后一个子节点的li元素起作用的CSS样式 */
        li:last-child {
            background-color: #aaa;
        }
        /* 定义对作为其父元素的第2个子节点的li元素起作用的CSS样式 */
        li:nth-child(2){
            color: #888;
        }
        /* 定义对作为其父元素的倒数第2个子节点的li元素起作用的CSS样式 */
        li:nth-last-child(2){
            font-weight: bold; 
        }
        /* 定义对作为其父元素的唯一的子节点的span元素起作用的CSS样式 */
        span:only-child {
            font-size: 30pt;
            font-family: "隶书";
        }
    </style>
</head>
<body>
<ol>
    <li>www.crazyit.org</li>
    <li>www.fkjava.org</li>
    <li>www.facejava.org</li>
    <li>疯狂Java联盟</li>
    <li>疯狂软件教育中心</li>
</ol>
<ul>
    <li id="java">疯狂Java讲义</li>
    <li id="javaee">轻量级Java EE企业应用实战</li>
    <li id="ajax">疯狂Ajax讲义</li>
    <li id="xml">疯狂XML讲义</li>
    <li id="ejb">经典Java EE企业应用实战</li>
    <li><span id="android">疯狂Android讲义</span></li>
</ul>
<span>疯狂Java联盟</span>
</body>
</html>
image.png

:nth-child(odd/even)
:nth-last-child(odd/even)

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :nth-child </title>
    <style type="text/css">
        /* 定义对作为其父元素的奇数个子节点的li元素起作用的CSS样式 */
        li:nth-child(odd) {
            margin: 10px;
            border: 2px dotted black;
        }
        /* 定义对作为其父元素的偶数个子节点的li元素起作用的CSS样式 */
        li:nth-child(even) {
            padding: 4px;
            border: 1px solid black;
        }
    </style>
</head>
<body>
<ul>
    <li id="java">疯狂Java讲义</li>
    <li id="javaee">轻量级Java EE企业应用实战</li>
    <li id="ajax">疯狂Ajax讲义</li>
    <li id="xml">疯狂XML讲义</li>
    <li id="ejb">经典Java EE企业应用实战</li>
    <li id="android">疯狂Android讲义</li>
</ul>
</body>
</html>
image.png

:nth-child(xn+y)
:nth-last-child(xn+y)

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> child </title>
    <style type="text/css">
        /* 定义对作为其父元素的倒数第3n+1个(1、4、7)子节点
            的li元素起作用的CSS样式 */
        li:nth-last-child(3n+1) {
            border: 1px solid black;
        }
    </style>
</head>
<body>
<ul>
    <li id="java">疯狂Java讲义</li>
    <li id="javaee">轻量级Java EE企业应用实战</li>
    <li id="ajax">疯狂Ajax讲义</li>
    <li id="xml">疯狂XML讲义</li>
    <li id="ejb">经典Java EE企业应用实战</li>
    <li id="android">疯狂Android讲义</li>
</ul>
</body>
</html>
image.png

:first-of-type 同级元素第一个
:last-of-type 同级元素最后一个
:nth-of-type 同级元素第n个
:nth-last-of-type 同级元素倒数第n个
:only-of-type 同级元素唯一一个元素

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :type </title>
    <style type="text/css">
        span {
            display: block;
            padding: 5px;
        }
        /* 匹配span选择器,且是与它同类型、同级的兄弟元素中的第一个的CSS样式 */
        span:first-of-type{
            border: 1px solid black;
        }
        /* 匹配span选择器,且是与它同类型、同级的兄弟元素中的最后一个的CSS样式 */
        span:last-of-type {
            background-color: #aaa;
        }
        /* 匹配span选择器,且是与它同类型、同级的兄弟元素中的第2个的CSS样式 */
        span:nth-of-type(2){
            color: #888;
        }
        /* 匹配span选择器,且是与它同类型、同级的兄弟元素中的倒数第2个的CSS样式 */
        span:nth-last-of-type(2){
            font-weight: bold; 
        }
    </style>
</head>
<body>
<div>www.crazyit.org</div>
<span>www.fkjava.org</span>
<span>www.facejava.org</span>
<span>疯狂Java联盟</span>
<span>疯狂软件教育中心</span>
<hr/>
<div>
    <div id="java">疯狂Java讲义</div>
    <div id="javaee">轻量级Java EE企业应用实战</div>
    <span id="ajax">疯狂Ajax讲义</span>
    <span id="xml">疯狂XML讲义</span>
    <span id="ejb">经典Java EE企业应用实战</span>
    <span id="android">疯狂Android讲义</span>
    <div id="struts">Struts 2.1权威指南</div>
</div>
</body>
</html>
image.png

:nth-of-type(odd/even)
:nth-last-of-type(odd/even)
:nth-of-type(xn+y)
:nth-last-of-type(xn+y)

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :nth-of-type </title>
    <style type="text/css">
        span {
            display: block;
            padding: 2px;
        }
        /* 匹配span选择器,且是与它同类型、同级的兄弟元素中
            的2n+1(1、3、5...)个的CSS样式 */
        span:nth-of-type(2n+1){
            border: 1px solid black;
        }
    </style>
</head>
<body>
<div>
    <div id="java">疯狂Java讲义</div>
    <div id="javaee">轻量级Java EE企业应用实战</div>
    <span id="ajax">疯狂Ajax讲义</span>
    <span id="xml">疯狂XML讲义</span>
    <span id="ejb">经典Java EE企业应用实战</span>
    <span id="android">疯狂Android讲义</span>
    <span>疯狂Java联盟</span>
    <div id="struts">Struts 2.1权威指南</div>
</div>
</body>
</html>
image.png

:empty 要求元素是空元素,不能包含子节点,也不能包含文本内容,空格也不允许

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :empty </title>
    <style type="text/css">
        /* 定义对空元素起作用的CSS样式 */
        :empty {
            border: 1px solid black;
            height: 60px;
        }
    </style>
</head>
<body>
<img src="wjc.gif" alt="crazyit.org"/>
<div></div>
<div> </div>
</body>
</html>
image.png

2.UI元素状态伪类选择器

:hover
: active
:focus
:enabled
:disabled
:checked
:default

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> UI元素状态的伪类选择器 </title>
    <style type="text/css">
        td {
            border:1px solid black;
            padding:4px;
        }
        /* 为处于鼠标悬停状态的表格行定义CSS样式 */
        tr:hover {
            background-color: #aaa;
        }
        /* 为处于激活状态的input元素定义CSS样式 */
        input:active {
            background-color: blue;
        }
        /* 为得到焦点的任意元素定义CSS样式 */
        :focus {
            text-decoration: underline;
        }
        /* 为可用的任意元素定义CSS样式 */
        :enabled{
            font-family: "黑体";
            font-weight: bold;
            font-size:14pt;
        }
        /* 为不可用的任意元素定义CSS样式 */
        :disabled{
            font-family: "隶书";
            font-size:14pt;
        }
        /* 为处于勾选状态的任意元素定义CSS样式 */
        :checked {
            outline: red solid 5px;
        }
        /* 为页面打开时处于勾选状态的任意元素定义CSS样式 */
        :default {
            outline: #bbb solid 5px;
        }
    </style>
</head>
<body>
<table style="width:400px;border-collapse:collapse">
    <tr>
        <td>疯狂Java讲义</td><td>109</td>
    </tr>
    <tr>
        <td>轻量级Java EE企业应用实战</td><td>89</td>
    </tr>
    <tr contentEditable="true">
        <td>疯狂Android讲义</td><td>89</td>
    </tr>
</table>
<button disabled>不可用的按钮</button>
<input type="text" disabled value="不可用的文本框"/>
<button>可用的按钮</button>
<input type="text" value="可用的文本框"/>
男:<input type="radio" value="male" name="gender"/>
女:<input type="radio" value="female" name="gender"/>
未知:<input type="radio" checked value="unknown" name="gender"/>
</body>
</html>
image.png

:read-only
:read-write

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> UI元素状态的伪类选择器 </title>
    <style type="text/css">
        td {
            border:1px solid black;
            padding:4px;
        }
        /* 为处于只读状态的元素设置背景色 */
        :read-only {
            background-color: #eee;
        }
        /* 为处于读写状态的元素设置背景色 */
        :read-write {
            background-color: #8e8;
        }
        /* 专为基于Gecko内核浏览器指定CSS样式:
        为处于只读状态的元素设置背景色 */
        :-moz-read-only {
            background-color: #eee;
        }
        /* 专为基于Gecko内核浏览器指定CSS样式:
        为处于读写状态的元素设置背景色 */
        :-moz-read-write {
            background-color: #8e8;
        }
    </style>
</head>
<body>
<table style="width:400px;border-collapse:collapse">
    <tr>
        <td>疯狂Java讲义</td><td>109</td>
    </tr>
    <tr>
        <td>轻量级Java EE企业应用实战</td><td>89</td>
    </tr>
    <tr contentEditable="true">
        <td>疯狂Android讲义</td><td>89</td>
    </tr>
</table>
<input type="text" readonly value="只读的文本框"/>
<input type="text" value="可读写的文本框"/>
</body>
</html>
image.png

3.浏览器专属的属性

-ms- Microsoft
-moz- Mozilla
-o- Opera
-webkit- Webkit
::selection 用于匹配指定元素中被选中的内容

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> UI元素状态的伪类选择器 </title>
    <style type="text/css">
        td {
            border:1px solid black;
            padding:4px;
        }
        /* 为有内容被选择的元素设置CSS样式 */
        ::selection {
            background-color: red;
            color: white;
        }
        /* 专为基于Gecko内核浏览器指定CSS样式:
        为有内容被选择的元素设置CSS样式 */
        ::-moz-selection {
            background-color: red;
            color: white;
        }
    </style>
</head>
<body>
<table style="width:400px;border-collapse:collapse">
    <tr>
        <td>疯狂Java讲义</td><td>109</td>
    </tr>
    <tr>
        <td>轻量级Java EE企业应用实战</td><td>89</td>
    </tr>
    <tr contentEditable="true">
        <td>疯狂Android讲义</td><td>89</td>
    </tr>
</table>
<input type="text" readonly value="只读的文本框"/>
<input type="text" value="可读写的文本框"/>
</body>
</html>
image.png

:target 要求元素必须是命名锚点的目标

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :target </title>
    <style type="text/css">
        :target{
            background-color: #ff0;
        }
    </style>
</head>
<body>
<p id="menu">
    <a href="#java">疯狂Java讲义</a> | 
    <a href="#ee">轻量级Java EE企业应用实战</a> | 
    <a href="#android">疯狂Android讲义</a> | 
    <a href="#ejb">经典Java EE企业应用实战</a>
</p>
<div id="java">
    <h2>疯狂Java讲义</h2>
    <p>本书详细介绍了Java语言各方面的内容。</p>
</div>
<div id="ee">
    <h2>轻量级Java EE企业应用实战</h2>
    <p>本书详细介绍Struts 2、Spring 3、Hibernate三个框架整合开发的知识</p>
</div>
<div id="android">
    <h2>疯狂Android讲义</h2>
    <p>本书详细介绍了Android应用开发的知识。</p>
</div>
<div id="ejb">
    <h2>经典Java EE企业应用实战</h2>
    <p>本书详细介绍JSF 、EJB 3、JPA等Java EE相关的知识</p>
</div>
</body>
</html>
image.png

:not

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title> :child </title>
    <style type="text/css">
        li:not(#ajax) {
            color: #999;
            font-weight: bold;
        }
    </style>
</head>
<body>
<ul>
    <li id="java">疯狂Java讲义</li>
    <li id="javaee">轻量级Java EE企业应用实战</li>
    <li id="ajax">疯狂Ajax讲义</li>
    <li id="xml">疯狂XML讲义</li>
    <li id="android">疯狂Android讲义</li>
</ul>
</body>
</html>
image.png

(5).在脚本中修改样式

obj.style.属性名 = 属性值
obj.className = class选择器

1.随机改变页面的背景色

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>随机改变页面背景色</title>
    <script type="text/javascript">
    function changeBg()
    {
        // 将背景色的值定义成空字符串
        var bgColor="";
        // 循环6次,生成一个随机的六位数
        for (var i = 0 ; i < 6 ; i++)
        {
            bgColor += "" + Math.round(Math.random() * 9);
        }
        // 将随机生成的背景颜色值赋给页面的背景色。
        document.body.style.backgroundColor="#" + bgColor;
    }
    // 为页面的单击事件绑定事件处理函数
    document.onclick = changeBg;
    </script>
</head>
<body>
</body>
</html>

2.动态增加立体效果

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>立体效果</title>
    <script type="text/javascript">
    function chg()
    {   
        document.getElementById("up").className="solid";
    }
    </script>
    <style type="text/css">
    /* 对所有class属性值为solid的元素起作用的CSS定义 */
    .solid {
        width:160px;
        text-align:center;
        border-right: #222 3px solid; 
        border-top: #ddd 3px solid; 
        border-left: #ddd 3px solid; 
        border-bottom: #222 3px solid;
        background-color: #ccc;
    }
    </style>
</head>
<body>
    <input type="button" onclick='chg();' value="增加立体效果" />
    <div id="up">有立体效果的层</div>
</body>
</html>
image.png
上一篇下一篇

猜你喜欢

热点阅读