CSS【link(链接)+列表+表格】

CSS 链接

不同的链接可以有不同的样式。

链接样式

链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。

特别的链接,可以有不同的样式,这取决于他们是什么状态。

这四个链接状态是:

  • a:link - 正常,未访问过的链接
  • a:visited - 用户已访问过的链接
  • a:hover - 当用户鼠标放在链接上时
  • a:active - 链接被点击的那一刻。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            a:link {color:black;}      /* 未访问链接*/
            a:visited {color:purple;}  /* 已访问链接 */
            a:hover {color:blue;}  /* 鼠标移动到链接上 */
            a:active {color:gold;}  /* 鼠标点击时 */
        </style>
    </head>
    </body>
    <p><b><a href="https://www.csdn.net/" target="_blank">这是一个链接</a></b></p>

    </body>
    </html>

常见的链接样式

根据上述链接的颜色变化的例子,看它是在什么状态。

让我们通过一些其他常见的方式转到链接样式:

文本修饰

text-decoration 属性主要用于删除链接中的下划线:

a:link {text-decoration:none;}
a:visited {text-decoration:none;}
a:hover {text-decoration:underline;}
a:active {text-decoration:underline;}

背景颜色

背景颜色属性指定链接背景色:

a:link {background-color:#B2FF99;}
a:visited {background-color:#FFFF85;}
a:hover {background-color:#FF704D;}
a:active {background-color:#FF704D;}

创建不同样式的链接样式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            a.one:link {color:#ff0000;}
            a.one:visited {color:#0000ff;}
            a.one:hover {color:#ffcc00;}

            a.two:link {color:#ff0000;}
            a.two:visited {color:#0000ff;}
            a.two:hover {font-size:150%;}

            a.three:link {color:#ff0000;}
            a.three:visited {color:#0000ff;}
            a.three:hover {background:#66ff66;}

            a.four:link {color:#ff0000;}
            a.four:visited {color:#0000ff;}
            a.four:hover {font-family:Georgia, serif;}

            a.five:link {color:#ff0000;text-decoration:none;}
            a.five:visited {color:#0000ff;text-decoration:none;}
            a.five:hover {text-decoration:underline;}
        </style>
    </head>
    </body>
    <p><b><a class="one" href="/css/" target="_blank">这个链接改变颜色</a></b></p>
    <p><b><a class="two" href="/css/" target="_blank">这个链接改变字体大小</a></b></p>
    <p><b><a class="three" href="/css/" target="_blank">这个链接改变背景颜色</a></b></p>
    <p><b><a class="four" href="/css/" target="_blank">这个链接改变字体类型</a></b></p>
    <p><b><a class="five" href="/css/" target="_blank">这个链接改变文字修饰</a></b></p>
    </body>
    </html>

CSS 列表

CSS 列表属性作用如下:

  • 设置不同的列表项标记为有序列表
  • 设置不同的列表项标记为无序列表
  • 设置列表项标记为图像

列表

在 HTML中,有两种类型的列表:

  • 无序列表 ul - 列表项标记用特殊图形(如小黑点、小方框等)
  • 有序列表 ol - 列表项的标记有数字或字母

使用 CSS,可以列出进一步的样式,并可用图像作列表项标记。

不同的列表项标记

list-style-type属性指定列表项标记的类型是:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            ul.a{list-style-type: circle}
            ul.b{list-style-type: square}

            ol.c{list-style-type: upper-roman}
            ol.d{list-style-type: lower-alpha}
        </style>
    </head>
    </body>
        <p>无序列表</p>
        <ul class="a">
            <li>coffee</li>
            <li>tea</li>
            <li>cola</li>
        </ul>
    <ul class="b">
        <li>coffee</li>
        <li>tea</li>
        <li>cola</li>
    </ul>
    <p>有序列表</p>
    <ol class="c">
        <li>coffee</li>
        <li>tea</li>
        <li>cola</li>
    </ol>
    <ol class="d">
        <li>coffee</li>
        <li>tea</li>
        <li>cola</li>
    </ol>
    </body>
    </html>

作为列表项标记的图像

要指定列表项标记的图像,使用列表样式图像属性:

ul
{
    list-style-image: url('sqpurple.gif');
}

列表 - 简写属性

在单个属性中可以指定所有的列表属性。这就是所谓的简写属性。

为列表使用简写属性,列表样式属性设置如下:

ul
{
    list-style: square url("sqpurple.gif");
}

可以按顺序设置如下属性:

  • list-style-type
  • list-style-position (有关说明,请参见下面的CSS属性表)
  • list-style-image

移除默认设置

list-style-type:none 属性可以用于移除小标记。默认情况下列表 <ul> 或 <ol> 还设置了内边距和外边距,可使用 margin:0 和 padding:0 来移除:

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

CSS 表格

表格边框

指定CSS表格边框,使用border属性。

下面的例子指定了一个表格的th和td元素的黑色边框:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            table,th,td{
                border: 1px solid blue;
            }
        </style>
    </head>
    </body>
    <table>
        <tr>
            <th>Firstname</th>
            <th>Lastname</th>
        </tr>
        <tr>
            <td>Peter</td>
            <td>Griffin</td>
        </tr>
        <tr>
            <td>Lois</td>
            <td>Griffin</td>
        </tr>
    </table>
    </body>
    </html>

请注意,在上面的例子中的表格有双边框。这是因为表和th/ td元素有独立的边界。

为了显示一个表的单个边框,使用 border-collapse属性。

折叠边框

border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            table{
                border-collapse: collapse;
            }
            table,th,td{
                border: 1px solid blue;
            }
        </style>
    </head>
    </body>
    <table>
        <tr>
            <th>Firstname</th>
            <th>Lastname</th>
        </tr>
        <tr>
            <td>Peter</td>
            <td>Griffin</td>
        </tr>
        <tr>
            <td>Lois</td>
            <td>Griffin</td>
        </tr>
    </table>
    </body>
    </html>

 

表格宽度和高度

Width和height属性定义表格的宽度和高度。

下面的例子是设置100%的宽度,50像素的th元素的高度的表格:

table 
{
    width:100%;
}
th
{
    height:50px;
}

表格文字对齐

表格中的文本对齐和垂直对齐属性。

text-align属性设置水平对齐方式,向左,右,或中心:

td
{
    text-align:right;
}

垂直对齐属性设置垂直对齐,比如顶部,底部或中间:

            table,th,td{
                border: 1px solid blue;
            }
            td
            {
                height:50px;
                vertical-align: center}

表格填充

如需控制边框和表格内容之间的间距,应使用td和th元素的填充属性:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            table,th,td{
                border: 1px solid blue;
            }
            td{
                padding: 15px;
            }
        </style>
    </head>
    </body>
    <table>
        <tr>
            <th>Firstname</th>
            <th>Lastname</th>
            <th>Savings</th>
        </tr>
        <tr>
            <td>Peter</td>
            <td>Griffin</td>
            <td>$100</td>
        </tr>
        <tr>
            <td>Lois</td>
            <td>Griffin</td>
            <td>$150</td>
        </tr>
        <tr>
            <td>Joe</td>
            <td>Swanson</td>
            <td>$300</td>
        </tr>
        <tr>
            <td>Cleveland</td>
            <td>Brown</td>
            <td>$250</td>
        </tr>
    </table>
    </body>
    </html>

和 padding=1px 的时候对比

 

表格颜色

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            table,th,td{
                border: 1px solid blue;
            }
            td{
                background: coral;
                padding: 1px;
            }
        </style>
    </head>
    </body>
    <table>
        <tr>
            <th>Firstname</th>
            <th>Lastname</th>
            <th>Savings</th>
        </tr>
        <tr>
            <td>Peter</td>
            <td>Griffin</td>
            <td>$100</td>
        </tr>
        <tr>
            <td>Lois</td>
            <td>Griffin</td>
            <td>$150</td>
        </tr>
        <tr>
            <td>Joe</td>
            <td>Swanson</td>
            <td>$300</td>
        </tr>
        <tr>
            <td>Cleveland</td>
            <td>Brown</td>
            <td>$250</td>
        </tr>
    </table>
    </body>
    </html>

合并表格(行/列)案例

先建立一个简单的表格

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
            text-align: center;
            width: 500px;
            height: 300px;
            border-collapse:collapse;;
            border: 2px solid #cccccc;
        }
        tr td{
            border: 2px solid #cccccc;
        }
    </style>
</head>
<body>
<table>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</body>
</html>

 现在合并第一行的前两列

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
            text-align: center;
            width: 500px;
            height: 300px;
            border-collapse:collapse;;
            border: 2px solid #cccccc;
        }
        tr td{
            border: 2px solid #cccccc;
        }
    </style>
</head>
<body>
<table>
    <tr>
        <td colspan="2">1</td>
        <td></td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</body>
</html>

结果如下

结果并不理想,从结果可以知道,像是把一个格子强行塞入第一行,后面的格子向后移动。 

所以

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
            text-align: center;
            width: 500px;
            height: 300px;
            border-collapse:collapse;;
            border: 2px solid #cccccc;
        }
        tr td{
            border: 2px solid #cccccc;
        }
    </style>
</head>
<body>
<table>
    <tr>
        <td colspan="2">1</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</body>
</html>

行合并同理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
            text-align: center;
            width: 500px;
            height: 300px;
            border-collapse:collapse;;
            border: 2px solid #cccccc;
        }
        tr td{
            border: 2px solid #cccccc;
        }
    </style>
</head>
<body>
<table>
    <tr>
        <td rowspan="2">1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值