当前位置: 首页 > news >正文

css基础总结(css简介、css语法框架、css样式表格式、css选择器)

css基础总结

1-css概述

  1. css含义
    cascading style sheets——层叠样式表,也称css样式表、级联样式表。
  2. css作用
    html负责网页页面中“有什么”,而css负责网页页面中的内容“长什么样”,用来定义网页内容的格式
  3. css语法框架
/*展开格式——推荐 */
选择器 {
    属性:;/* 每行称为一个“声明” */
    ……;
    属性:/* 最后一个声明后不需要跟“;” */
}
/* 紧凑格式 */
选择器 {属性:;……;属性:}
  1. 样式表格式
    css样式表的格式可以按照书写位置分为三类:行内样式表、内部样式表、外部样式表。
  • 行内样式表
    直接在元素标签中设定样式,可简单修改某些标签的样式。例如如下代码:
<p color="red" font-size="10px" >文字部分</p>
  • 内部样式表
    首先回顾一下html文件的基本框架:
<html>
    <head>
        <title>网页标题</title>
    </head>

    <body>
        <!--各类标签-->
    </body>

内部样式表即把样式表写在html代码中,将样式打包放在<style>标签中,因此,html文件的框架变为如下格式:

<html>
    <head>
        <title>网页标题</title>
        <style><!--放在head标签中,对本结构中所有标签均可选择和赋予样式-->
            选择器{声明}
            ……
            选择器{声明}
        </style>
    </head>

    <body>
        <!--各类标签-->
    </body>
  • 外部样式表:在开发中更加常用,结构(html)和样式(css)分离,将css部分单独写成.css文件,并引入html页面中。.css文件的基础结构如下:
选择器 {
    属性:;
    ……;
    属性:}
……
选择器 {
    属性:;
    ……;
    属性:}

而在html文件中,需要使用<link>标签引入css样式表,操作如下:

<html>
    <head>
        <title>网页标题</title>
        <!--引入xx.css文件中的样式表-->
        <link rel="stylesheet" href="xx.css的路径">
    </head>

    <body>
        <!--各类标签-->
    </body>

2-css选择器

css选择器分类

  1. 基础选择器
    1. 标签选择器
      选择一类标签,将此类标签全部应用某种格式
      标签名 {
          属性:;
          ……;
          属性:}
      
      /* 在标签中 */
      <h1>标题1</h1>
      <h1>标题2</h1>
      <p>段落文字</p>
      
      /* 如果选择器是h1,那个就选择所有h1标签进行格式处理*/
      
    2. 类选择器
      对于目标标签,设置class属性,即设置类名,根据类名选择若干个标签应用某种格式
      .类名 {
         属性:;
         ……;
         属性:}
      
      /* 在标签中 */
      <h1 class="class1">标题1</h1>
      <h1 class="class2">标题2</h1>
      <h1 class="class1">标题3</h1>
      /* 如果选择器是.class1,选择第一个和第三个h1标签;
      如果选择器是.class2,选择第二个h1标签 */
      
    3. id选择器
      对于目标标签,设置id属性,根据id值选择某一个标签(注意:只能选择某一个标签,因此id值不能重复)应用某种格式
      #类名 {
         属性:;
         ……;
         属性:}
      
      /* 在标签中 */
      <h1 id="id1">标题1</h1>
      <h1 id="id1">标题2</h1>
      /* 如果选择器是#id1,选择第一个h1标签;
      且第二个标签这样的写法是错误的。 */
      
    4. 通配符选择器
      选择页面中的所有标签,一般用于所有元素在格式处理前的风格统一化。
      * {
         属性:;
         ……;
         属性:}
      
      /* 在标签中所有标签都会被应用某种格式 */
      
  2. 复合选择器
    首先介绍一下标签的关系,有两种基本的关系:父子关系(包含关系)、兄弟关系(并列关系)。如下是表格标签的基础结构:
    <table>
        <tr><!--第一行-->
            <th></th>
            <td></td>
            ……
            <td></td>
        </tr>
        ……
        <tr><!--第n行-->
            <th></th>
            <td></td>
            ……
            <td></td>
        </tr>
    </table>
    
    其中<table><tr>是父子关系,<th><td>是兄弟关系。下面以表格标签为例介绍复合选择器
    1. 后代选择器
      选择父标签中的所有子标签

      table tr {
         属性:;
         ……;
         属性:}
      /* table标签中的所有tr标签都会被选择 */
      

      这里的“table”、“tr”是标签选择器,也可以使用其他基础选择器,例如如下代码:

      .choosen #special{
         属性:;
         ……;
         属性:}
      
      <table class="choosen"><!--表1-->
          <tr><!--第一行-->
              <th></th>
              <td></td>
          </tr>
          ……
          <tr id="special"><!--第n行-->
              <th></th>
              <td></td>
          </tr>
      </table>
      
      <table><!--表2-->
          <tr><!--第一行-->
              <th></th>
              <td></td>
          </tr>
          ……
          <tr id="special"><!--第n行-->
              <th></th>
              <td></td>
          </tr>
      </table>
      <!--此时的css选择器,选择的就是表1的第n行-->
      
    2. 子选择器
      选择父标签中最近的一级子元素。

      table>tr {
         属性:;
         ……;
         属性:}
      /* table标签中选择第一个tr标签,即选择第一行 */
      
    3. 并集选择器
      选择多个并列的标签进行相同样式设置

      th,td {
         属性:;
         ……;
         属性:}
      /* table标签中的所有th、td标签都会被选择 */
      
    4. 伪类选择器
      比较特殊的一类选择器,主要用来给某些标签添加特殊效果。

      • 链接伪类:主要针对链接标签<a href="xx" target="-self">文本或图像</a>
      a:link{声明} /* 选择所有未访问过的链接 */
      a:visited{声明} /* 选择所有已访问过的链接 */
      a:hover{声明} /* 选择鼠标放于之上的链接,很常用 */ 
      a:active{声明} /* 选择鼠标已经点击但是尚未结束点击的链接,即被选中的链接(活动链接) */
      
      /* 开发过程中四个链接伪类不一定都需要写出来,可以只写a:hover{} ,但是四个链接伪类都写的话,需要按照link --> visited --> hover --> active 的顺序 */
      
      • 结构伪类:根据 HTML 页面中元素之间的关系来选择元素。
        还是取上面的<table>标签例子。
      table:nth-child(k){声明} /* 选择table标签中的第k个tr标签,即第k行,k <= 总行数 */
      table:nth-last-child(k){声明} /* 选择table标签中倒数第k个tr标签,即第n-k行,k <= 总行数 */
      table:first-child{声明} /* 选择table标签中的第一个tr标签,即第一行 */
      table:last-child{声明} /* 选择table标签中的最后一个tr标签,即第n行 */
      
      • focus伪类:主要用于表单元素的选择,选择鼠标放于上方的标签元素
      input:focus{声明} 
      

相关文章:

  • 东芝推出第三代碳化硅MOSFET来提高工业设备效率
  • Zookeeper集群搭建
  • 基于SSM的校园运动会管理系统
  • javaweb基于html5旅游攻略管理系统ssh
  • 司空见惯 - 好吃的姑娘
  • 深度学习之卷积类型
  • 软件测试—七年老鸟的成长感悟
  • 利用1433端口及提权总结
  • 深度学习(PyTorch)——加载数据初认识与实战操作
  • MIKE水动力笔记15_数字化海图4之制作xyz水深数据
  • flex布局(理论+案例解释)
  • 如何选择合适的渠道与客户建立联系
  • 08c++呵呵老师【给子弹添加爆炸效果】
  • 【C++】泛型编程
  • JavaScript进阶(三)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 230. Kth Smallest Element in a BST
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • happypack两次报错的问题
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • js写一个简单的选项卡
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Odoo domain写法及运用
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • ucore操作系统实验笔记 - 重新理解中断
  • V4L2视频输入框架概述
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 阿里云前端周刊 - 第 26 期
  • 第十八天-企业应用架构模式-基本模式
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端临床手札——文件上传
  • 前嗅ForeSpider中数据浏览界面介绍
  • 时间复杂度与空间复杂度分析
  • 王永庆:技术创新改变教育未来
  • 白色的风信子
  • 函数计算新功能-----支持C#函数
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #在 README.md 中生成项目目录结构
  • $refs 、$nextTic、动态组件、name的使用
  • (MATLAB)第五章-矩阵运算
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三)mysql_MYSQL(三)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ***测试-HTTP方法
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net refrector
  • .NetCore部署微服务(二)
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法