JavaWeb笔记之前端开发CSS

一 、引言

1.1 CSS概念
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
     

二、 CSS简介

2.1 介绍
CSS:全称:Cascading Style Sheets 层叠样式表,定义如何显示HTML元素。
多个样式可以层层覆盖叠加,如果不同的css样式对同一html标签进行修饰,样式有冲突的应用优先级高的,不冲突的共同作用。
    
2.2 作用
修饰美化html网页。
外部样式表可以提高代码复用性从而提高工作效率。
html内容与样式表现分离,便于后期维护。
   
2.3 规范
CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
选择器通常是您需要改变样式的 HTML 元素。
每条声明由一个属性和一个值组成。
   
2.4 基础语法
选择器{属性:值;属性:值….. }
  

   
注意事项:
请使用花括号来包围声明。
如果值为若干单词,则要给值加引号。
多个声明之间使用分号;分开。
css对大小不敏感,如果涉及到与html文档一起使用时,class与id名称对大小写敏感。
  

三、 CSS导入方式

3.1 内嵌方式
把CSS样式嵌入到html标签当中,类似属性的用法。
<div style="color:blue;font-size:50px">This is my HTML page. </div>
   
3.2 内部方式
在head标签中使用style标签引入css。
<style type=“text/css”> //告诉浏览器使用css解析器去解析
    div{color:red;font-size:50px}
</style>
      
3.3 外部方式
将css样式抽成一个单独文件,使用者直接引用。
创建单独文件 div.css
内容示例:div{color:green;font-size:50px}
引用语句写在head标签内部
    <link rel="stylesheet" type="text/css" href=“div.css"></link>
    rel:代表当前页面与href所指定文档的关系
    type:文件类型,告诉浏览器使用css解析器去解析
    href:css文件地址
   
3.4 @import
在页面中引入一个独立的单独文件。
<style type="text/css">
    @import url("div.css")
</style>
该内容放在head标签中
  
link和@import方式的区别:
        link所有浏览器都支持,@import某些版本低的IE不支持。
        @import是等待html加载完成才加载。
        @import不支持js动态修改。
   

四、 CSS选择器

主要用于选择需要添加样式的html元素。
    
4.1 基本选择器
元素选择器: 在head中使用style标签引入在其中声明元素选择器:html标签{属性:属性值}。
<style type="text/css">
    span{color: red;font-size: 100px}
</style>
   
id选择器:给需要修改样式的html元素添加id属性标识,在head中使用style标签引入在其中声明。
id选择器:#id值{属性:属性值}。
创建id选择器:
    <div id="s1">hello,everyone!</div>
    <div id="s2">hello,everyone!</div>
    <div id="s3">hello,everyone!</div>
根据id选择器进行html文件修饰
    <style type="text/css">
        #s1{color: red;font-size: 100px}
        #s2{color: green;font-size: 100px}
        #s3{color: blue;font-size: 100px}
    </style>
  
class选择器:给需要修改样式的html元素添加class属性标识,在head中使用style标签引入在其中声明class选择器: .class名{属性:属性值}。
创建class选择器:
    <div class="s1">hello,everyone!</div>
    <div class="s2">hello,everyone!</div>
    <div class="s3">hello,everyone!</div>
根据id选择器进行html文件修饰:
    <style type="text/css">
        .s1{color: purple;font-size: 100px}
        .s2{color: pink;font-size: 100px}
        .s3{color: yellow;font-size: 100px}
    </style>
    
备注:以上基本选择器的优先级从高到低:id选择器,class选择器,元素选择器。
      
4.2 属性选择器
根据元素的属性及属性值来选择元素。在head中使用style标签引入在其中声明。
格式为:
htm标签[属性=‘属性值']{css属性:css属性值;}。
html标签[属性]{css属性:css属性值;}。
body内容:
    <form name="login" action="#" method="get">
        <font size="3">用户名:</font>
        <input type="text" name="username" value="zhangsan"><br>
        <font size="3">密码:</font>
        <input type="password" name="password" value="123456"><br/>
        <input type="submit" value="登录">
    </form>
head中书写:
    <style type="text/css">
        input[type='text'] {
            background-color: pink;
        }
        input[type='password'] {
            background-color: yellow;
        }
        font[size] {
            color: green
        }
        a[href] {
            color: blue;
        }
    </style>
    
4.3 伪元素选择器
主要是针对a标签
语法:
        静止状态 a:link{css属性}
        悬浮状态 a:hover{css属性}
        触发状态 a:active{css属性}
        完成状态 a:visited{css属性}
代码:
    <a href="https://hao.360.cn/">点我吧</a>
样式:
    <style type="text/css">
        <!--静止状态 -->
        a:link {color: red;}
        <!--悬浮状态 -->’
        a:hover {color: green;}
        <!--触发状态 -->
        a:active {color: yellow;}
        <!--完成状态 -->
        a:visited {color: blue;}
    </style>
       
4.4 层级选择器
父级选择器 子级选择器….,具体示例如下:
<div id="div1">
    <div class="div11">
        <span>span1-1</span>
    </div>
    <div class="div12">
        <span>span1-2</span>
    </div>
</div>
<div class="div2">
    <div id="div22">
        <span>span2-1</span>
    </div>
    <div id="div23">
        <span>span2-2</span>
    </div>
</div>
<style type="text/css">
    #div1 .div11{color:red;}
    #div1 .div12{color:purple;}
    .div2 #div22{color:green;}
    .div2 #div23{color:blue;}
</style>
   

五、 CSS属性

5.1 文字属性

   
5.2 文本属性

   
5.3 背景属性
    
5.4 列表属性

  
5.5 尺寸属性
width:设置元素的宽度。
height:设置元素的高度。
  
5.6 显示属性
显示属性display ,以下是常用取值:
        none:不显示。
        block:块级显示。
        inline:行级显示。
    
5.7 轮廓属性
绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。常用属性:

   
5.8 浮动属性
float
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

  
再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。
如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

   
如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:

   
clear 属性:规定元素的哪一侧不允许其他浮动元素。它的取值如下:

      
5.9 定位属性
position
相对定位(relative):元素框偏移某个距离,元素仍保持其未定位前的形状,它原本所占的空间仍保留。
<head>
    <style type="text/css">
        h2.pos_left {
            position: relative;
            left: -20px
        }
        h2.pos_right {
            position: relative;
            left: 20px
        }
    </style>
</head>
<body>
    <h2>这是位于正常位置的标题</h2>
    <h2 class="pos_left">这个标题相对于其正常位置向左移动</h2>
    <h2 class="pos_right">这个标题相对于其正常位置向右移动</h2>
    <p>相对定位会按照元素的原始位置对该元素进行移动。</p>
    <p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p>
    <p>样式 "left:20px" 向元素的原始左侧位置增加 20 像素。</p>
</body>
    
绝对定位(absolute):元素框从文档流完全删除,并相对于其包含块进行定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框。 absolute是相对于离它最近的有定位的父元素进行定位。
<html>
    <head>
        <meta charset="utf-8" />
        <style type="text/css">
            h2.pos_abs {
                position: absolute;
                left: 100px;
                top: 150px
            }
        </style>
    </head>
    <body>
        <h2 class="pos_abs">这是带有绝对定位的标题</h2>
        <p>通过绝对定位,元素可以放置到页面上的任何位置。下面的标题距离页面左侧 100px,距离页面顶部 150px。</p>
    </body>
</html>
     
固定定位(fixed): fixed是相对于浏览器窗口定位 。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            #left {
                width: 200px;
                height: 200px;
                background-color: red;
                position: fixed;
                left: 0px;
                bottom: 0px;
            }
            #right {
                width: 200px;
                height: 200px;
                background-color: green;
                position: fixed;
                right: 0px;
                bottom: 0px;
            }
            #middle{
                width: 200px;
                height: 200px;
                background-color: blue;
                position: fixed;
                left: 0px;
                bottom: 50%;
            }
        </style>
    </head>
    <body>
        <div id="left">左下</div>
        <div id="right">右下</div>
        <div id="middle">中间</div>
    </body>
</html>
   

六、 CSS盒子模型

   
6.1 边框属性

   
6.2 外边距属性
margin:外间距,边框和边框外层的元素的距离。

   
6.3 内边距属性
padding:内间距,元素内容和边框之间的距离((top right bottom left))。
    

七、 CSS3扩展属性

7.1 border-radius
创建圆角
示例:border-radius: 25px;

    
7.2 box-shadow
用于向方框添加阴影
示例:box-shadow: 10px 10px 5px #888888;

   
7.3 background-size
属性规定背景图片的尺寸。
<body style="text-align: center;
    background:url(img/1.png);
    background-size: 200px 300px;
    background-repeat: no-repeat;">
</body>
   
7.4 background-image
为指定元素使用多个背景图像。

  
7.5 text-shadow
可向文本应用阴影。
示例:text-shadow: 5px 5px 5px #ffff00;

  

八、 案例

8.1 案例效果图

   
8.2 相关图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/259670.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.野狗算法4.实验参数设定5.算法结果6.参考文献7.MA…

Python爬虫---解析---xpath

1.1 安装xpath&#xff1a; 点击安装Xpath 1.2 将安装好的程序解压&#xff0c;打开浏览器&#xff0c;找到程序扩展&#xff0c;把解压好的程序托进来&#xff0c;如下图所示&#xff1a; 1.3 设置快捷键&#xff1a;打开/关闭xpath 1.4 成功后的图例&#xff1a;按刚刚设…

k8s集群核心概念 Pod进阶

k8s集群核心概念 Pod进阶 一、场景 Pod在kubernetes集群中是核心资源对象之一&#xff0c;前期我们已经在《kubernetes极速入门》课程中讲解了Pod创建及Pod删除方法&#xff0c;但是实际企业应用中&#xff0c;Pod使用远比我们想像复杂&#xff0c;本次课程我们接着为大家讲解…

stack刷题

最小栈 最小栈 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部…

C#文件操作(一)

一、前言 学习心得&#xff1a;C# 入门经典第8版书中的第20章《文件》 二、操作文件的相关类 在C#应用程序中Syste.IO名称空间包含用于在文件中读写数据的类。在此我列举一下File、Directory、Path、FileInfo、DirectoryInfo、FileSystemInfo、FileSystemWatcher。其中在Syste…

解决Android studio 创建虚拟机时提示a system image must be selected continue问题

在使用android studio的时候&#xff0c;很多新手在创建虚拟机的时候回出现 a system image must be selected continue错误。 里明显是缺少了systemImage,解决方法如下 打开SDK MANAGER,然后把右下角的show package details勾上,把对应的system image下载下来即可

mysql:查看服务端为了处理连接而创建的线程数量

使用命令show global status like Threads_created;可以查看服务端为了处理连接而创建的线程数量。 例如&#xff1a;

5G+云渲染技术:将如何快速推进XR和元宇宙?

XR&#xff08;扩展现实&#xff09;领域正在以惊人的速度增长。目前&#xff0c;到 2024 年&#xff0c;一些专家表示这个行业的价值将达到 3000 亿美元。 这个行业发展如此迅速的部分原因是 XR 将在商业环境中的带来巨大利益。近年来&#xff0c;很多企业遇到了将增强现实和…

【lesson18】MySQL内置函数(1)日期函数和字符串函数

文章目录 日期函数函数使用具体使用案例建表插入数据建表插入数据 字符串函数函数使用具体使用案例建表插入数据测试 日期函数 函数使用 获得年月日&#xff1a; 获得时分秒&#xff1a; 获得时间戳&#xff1a; 获得现在的时间&#xff1a; 在日期的基础上加日期&#xf…

Unity中URP下的半透明效果实现

文章目录 前言一、实现半透明的步骤1、修改Blend模式&#xff0c;使之透明2、打开深度写入&#xff0c;防止透明对象穿模3、在Tags中&#xff0c;修改渲染类型和渲染队列为半透明 Transparent 二、对透明效果实现从下到上的透明渐变1、 我们在 Varying 中&#xff0c;定义一个v…

vue3表格导入导出.xlsx

在这次使用时恰好整出来了&#xff0c;希望大家也能学习到&#xff0c;特此分享出来 使用前确保安装以下模块&#xff0c;最好全局配置element-plus ### 展示一下 ### ###导出选项 ### ###导入de数据 ### 安装的模块 npm install js-table2excel // 安装js-table2excel n…

翻译: LLMs离通用人工智能AGI有多远 20个小时学会开车 Artificial General Intelligence

AGI&#xff0c;即人工通用智能&#xff0c;是一个令人兴奋的概念。我认为围绕它的一些混淆源于“通用”这个词的使用。正如您所知&#xff0c;人工智能是一种通用技术&#xff0c;意味着它对许多不同的事情都有用。大型语言模型的崛起导致了像ChatGPT这样的单一模型可以用于许…

Java发起SOAP请求代码参考

目录 Java发起SOAP请求代码参考 代码1.组装参数2.加密参数3.发起连接4.解析返回数据 参考 文章所属专区 超链接 代码 1.组装参数 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&qu…

AUTOSAR CanTSyn模块配置与代码实现(二)

AUTOSAR CanTSyn模块配置与代码实现 1、FUP message处理 CanTSyn_process_FUP_message 先比较和SYNC报文的Sequence是否相等&#xff0c;如果不相等则不接受该报文。 然后调用CanTSyn_unpack_store_fup处理fup报文。 获取接收到FUP时的本地时间&#xff0c;并与接收到的SYNC…

虚拟机无法进入系统问题

概述 客户在华为云平台上创建了两台虚拟机并部署aarch64 V10 OS&#xff0c;2021-10-28其中一台虚拟机业务出现异常&#xff0c;运维重启虚拟机后系统进不去&#xff0c;左上角光标闪烁&#xff0c;接着重启另一台虚拟机同样起不来&#xff0c;现象一致。 分析 通过分析现场…

天眼销使用指南

刚做销售的你&#xff0c;打电话是不是总是被客户拒决&#xff1f;要不打过去就是空号错号、找不着人&#xff1f;更甚者连客户电话都不知道&#xff1f; 如何快~速找到目标客户准确的联系方式呢&#xff1f;赶紧把这份使用指南请收好&#xff0c;客户不用愁。 1、进入【天眼…

0. Java简介与安装配置

0. Java简介与安装配置 文章目录 0. Java简介与安装配置1.1 Java简介1.2 Java特性1.2 Linux环境安装1.3 Windows环境安装1.3.1 下载JDK安装包1.3.2 安装JDK3. 配置JAVA环境4. 检验安装是否成功 1.3 开发工具参考文献 1.1 Java简介 Java是一门面向对象]编程语言&#xff0c;不仅…

部分常用算法笔记

一、简单易考 1、冒泡排序 https://www.nowcoder.com/practice/2baf799ea0594abd974d37139de27896 for i:0;i<length;i { for j:0;j<length-i-1;j { if array[j] > array[j1] { array[j1],array[j] array[j],array[j1] } } } 2、求数组最大最小值。 1&#xff09;O(…

Hudi 表类型和查询类型

数据湖hudi的表类型定义了数据在DFS上如何组织布局&#xff0c;同时实现一些timeline等操作&#xff08;表类型定定义数据是如何写入的&#xff09;&#xff1b;查询类型则是定义如何读取DFS上的数据。 Table typequery typeCopy-On-Write 快照查询&#xff1b; 增量查询&…

若依系列框架RuoYi(104集),RuoYi-Vue(121集)、RuoYi-Cloud(134集)最新完整视频.txt

若依系列框架RuoYi(104集),RuoYi-Vue&#xff08;121集&#xff09;、RuoYi-Cloud&#xff08;134集&#xff09;最新完整视频.txt
最新文章