CSS3详解

1.什么是CSS

css的优势

1、内容和表现分离
2、网页结构表现统一,可以实现复用
3、样式十分的丰富
4、建议使用独立于html的css文件
5、利用SE0,容易被搜索引擎收录!

CSS的几种导入方法

内部式

    <style>
        h1{
            color: red;
        }
    </style>

外部式

嵌入式

2.选择器 

选择页面上的某一个或者某一类标签

1.基本选择器

优先级关系

id 选择器>class 选择器 >标签选择器

1.标签选择器

标签选择器会选择到页面上所有的这个标签

<style>
        h1{
            color: red;
        }
    </style>

2.类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        .wwl{
            color: aqua;
        }
        .zn{
            color: #ff0;
        }
    </style>
</head>
<body>


<h1 class="wwl">标题一</h1>
<h1 class="zn">标题二</h1>
</body>
</html>

3.id选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        #wwl{
            color: yellow;
        }
        #zn{
            color: aqua;
        }
    </style>
</head>

<body>
<h1 id="wwl">第一标题</h1>
<h1 id="zn"> 第二标题</h1>
</body>
</html>

2.层次选择器

1.后代选择器

    <style>
    /*后代选择器*/
    body p{
        background: bisque;
    }
    </style>

 2.子代选择器

     <style>
        /*子选择器*/
        body>p{
            background: yellow;
            }
    </style>

3.相邻兄弟选择器

    <style>
        /*相邻兄弟选择器*/
        /*class 下边的那个标签*/
        .active+p{
            background: yellow;
        }
    </style>

4.通用选择器

    <style>
        /*通用兄弟选择器 此标签向下的所有兄弟标签*/
        .active~p{
            background: yellow;
        }
    </style>

3.结构伪类选择器

 4.属性选择器

= 是绝对等于

*=是包含等于 

^=是开头

$=是结尾

/*class 中含有links的元素*/
<style>
a[class *= links]{
    background:yellow;
}

</style>

选中href中以HTTP开头的元素

href中以ccc结尾的

    <style>   
     /*href中以HTTP开头的元素*/
        a[href^=www]{
            background: aqua;
        }

        /*href中以ccc结尾的*/
        a[href $=ccc]{
            background: red;
        }
</style>

3.美化网页的元素 

1.字体样式

        font-fami1y:字体
        font-size: 字体大小
        font-weight:字体粗细
        co1or:字体颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1{
            font-family: 楷体;
        }
        #first{
            font-size: 25px;
            color: aqua;
        }
        #second{
            font-weight: bold;
            background: aquamarine;
        }
    </style>
</head>
<body>

<h1>小故事</h1>
<p id="first">有一个男孩和一个女孩,他们相爱了。可是很快男孩到了年龄,要去军队服役三年。男孩临走之前在一片海滩上对女孩说:“亲爱的,等到三年后的今天我回来的时候,我们就在这里见面,好吗?”女孩答应了,泪流满面地目送男孩离开。
</p>

<p id="second">三年以后,男孩回来了,他带着钻戒在海滩上等待女孩来赴约并向她求婚。可是女孩早已有了新的心上人,终究没有来。男孩绝望的把钻戒抛进了大海,从此在这里安下家靠打渔为生。
</p>

</body>
</html>

2.文本样式

颜色

        1.单词

         2.RGB 0-F

        3.RGBA  A:0-1

text-align        排版 居中

text-indent        段落首行缩进

height             块高

line-height         行高

块高与行高的高度一致就可以上下居中

3.文本阴影与超链接伪类


    <style>
        /*鼠标悬浮跳转*/
        a:hover{
            color: yellow;
        }
        /*鼠标点击后*/
        a:visited{
            color: red;
        }
        /*文本阴影*/
        #QQ{
            text-shadow: yellow 10px 0px 2px;
        }
    </style>

4.列表

List-style:
        none 去掉原点
        circle 空心圆
        decimal 数字
        square 正方形 

#nav{
/*标签*/
    width:300px;
    background: gray;
}

.title{
    font-size:18px;
    font-weight:bold;
    text-indent:1em;
    line-height:35px;
    background:red;
}
ul{
    background: gray;
}

ul li{
    height:30px;
    /*列表格式*/
    list-style: none;
    text-indent: 1em;
}
a{
   text-decoration: none;
    font-size:14px;
    color: #000;
}
a:hover{
    color: yellow;
}

5.盒子模型

margin:外边距

padding:内边距

border:边框

1.border边框

/*border:粗细,样式,颜色*/
border:1px solid red;

2.内外边距

margin的参数: 上 右 下 左

            /*边距*/
            margin: 1px 2px 3px 4px;

盒子计算方式:你的盒子有多大

margin+border+padding+内容

3.圆角边框

border-radius:左上 右上 右下 左下

4.阴影

<style>
box-shadow:10px 10px 100px yellow;
</style>

6.浮动

块级元素:独占一行

h1~h6  p   div   列表

行内元素:不独占一行

span a img strong

行内元素,可以被包含在 块级元素中,反之则不可以

display

block 块元素

inline 行内元素

inline-block 是块元素,但是可以内联,在一行

    <style>

        div{
            width: 100px;
            height: 100px;
            border:1px solid red;
            /*block 块元素

             inline 行内元素

             inline-block 是块元素,但是可以内联,在一行*/
            display: block;
        }
        span{
            width:100px;
            height: 100px;
            border: 1px solid red;
            display: inline-block;
        }

    </style>

float

什么是css Float?

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。

Float(浮动),往往是用于图像,但它在布局时一样非常有用。

元素怎样浮动

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。

浮动元素之前的元素将不会受到影响。

如果图像是右浮动,下面的文本流将环绕在它左边:

img
{
    float:right;
}

清除浮动 - 使用 clear

元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

clear 属性指定元素两侧不能出现浮动元素。

.text_line
{
    clear:both;
}

如何解决父标签塌陷

1.给父标签设置一个高度

2.在浮动标签下边设置一个div标签,并且清除浮动

3.overfloat

4.在父类里添加一个伪类after 

7.定位

1.相对定位

相对定位元素的定位是相对其正常位置。

原来的位置会被保留,不会出现父标签塌陷

h2.pos_left
{
    position:relative;
    left:-20px;
}
h2.pos_right
{
    position:relative;
    left:20px;
}

2.绝对定位

定位基于XXX定位,上下左右

1.没有父级元素定位的前提下,相对于浏览器定位

2.假设父级元素存在定位,我们通常相对于父级元素进行偏移

3.在父级元素范围内移动,相对于父级元素或者浏览器的位置,进行指定的偏移,他不在标准文档流中,原来的位置不会被保留

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            margin: 10px;
            padding: 5px;
            font-size: 12px;
            line-height: 25px;
        }
        #father{
            border: 1px solid #666;
            /*父级进行定位,子类根据父级元素进行定位*/
            position: relative;
        }
        #first{
            background-color: #ff0099;
            border: 1px  dashed red;
            position: absolute;
            top:-20px;
        }
        #second{
            background-color: #ffff99;
            border: 1px  dashed yellow;
            position: absolute;
            left: -10px;
        }
        #third{
            background-color: #9900ff;
            border: 1px  dashed blue;
            position: absolute;
            bottom: -20px;
        }


    </style>
</head>
<body>

<div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
</div>
</body>
</html>

3.固定定位

        div:nth-of-type(2){
            width:50px;
            height: 50px;
            background: yellow;
            position: fixed;
            right:0;
            bottom: 0;
        }

3.z-index

图层

/*图层设置*/
z-index:999;

透明度:

        opacity:0.5

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

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

相关文章

GL/gl.h: No such file or directory(CentOS8 QT5.12.12)

1.问题描述 新建的QT工程&#xff0c;出现如下问题&#xff1a; GL/gl.h: No such file or directory 2.原因分析 centos系统里面缺少opengl库 3.解决方法 运行命令&#xff1a; yum install mesa-libGL -devel -y

palworld-server-tool(0.5.7)使用指南

文章目录 说明管理工具&#xff08;docker版本&#xff09;部署教程使用指南RCON指令工具RCON使用广播内容右下角&#xff0c;有加入白明单&#xff0c;和封禁和踢出的功能 游戏中RCON命令使用 说明 本文&#xff0c;主要使简单的使用介绍&#xff08;其实也没有什么指导的&am…

代码遗产:探索祖传代码的历史、挑战与现代融合艺术

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua&#xff0c;在这里我会分享我的知识和经验。&#x…

【Prometheus】基于Altertmanager发送告警到多个接收方、监控各种服务、pushgateway

基于Altertmanager发送报警到多个接收方 一、配置alertmanager-发送告警到qq邮箱1.1、告警流程1.2、告警设置【1】邮箱配置【2】告警规则配置【3】 部署prometheus【4】部署service 二、配置alertmanager-发送告警到钉钉三、配置alertmanager-发送告警到企业微信3.1、注册企业微…

Vue 2 的核心模块和历史遗留问题以及vue3新特性

从下图你能看到&#xff0c;Vue 2 是一个响应式驱动的、内置虚拟 DOM、组件 化、用在浏览器开发&#xff0c;并且有一个运行时把这些模块很好地管理起来的框架。 vue 2 能把上面所说的这些模块很好地管理起来&#xff0c;看起来已经足够好了。不过事实真的如 此么&#xff1f;…

在 Ubuntu 终端输出不同颜色、粗体、下划线或其他样式的字体

嗯。调试时总发现自己打印的调试信息太过普通、单调&#xff0c;于是乎…… Notice 要在终端实现字体的特殊样式&#xff0c;通常通过使用特殊的控制字符来实现&#xff0c;而不是通过某语言本身的功能来实现。 在大多数终端中&#xff0c;可以使用 ANSI 转义序列来设置字体的…

专业知识:EDR、XDR、NDR 和 MDR

多年来&#xff0c;EDR、XDR、NDR 和 MDR 等术语一直是网络安全不可或缺的一部分。但这些术语的背后是什么&#xff1f;使用什么技术&#xff1f; 新技术的发展对于网络安全尤为重要。最终&#xff0c;保护解决方案制造商必须始终领先网络攻击者一步。近年来&#xff0c;EDR、…

攻防世界-very-easy-sql

1.打开题目尝试输入1&#xff0c;1‘进行检测&#xff0c;看看是get请求还是post请求&#xff0c;但是没有回显&#xff0c;然后查看源代码&#xff0c;源代码中有一个use.php文件&#xff0c;访问这个文件&#xff0c;发现这是一个ssrf服务请求伪造漏洞 ssrf漏洞的一些原理 1&…

蓝桥杯第十二届电子类单片机组程序设计

目录 前言 蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课&#xff08;点击查看&#xff09; 单片机资源数据包_2023&#xff08;点击下载&#xff09; 一、第十二届比赛原题 1.比赛题目 2.题目解读 蓝桥杯第十四届电子类单片机组程序设计_蓝桥杯单片机哪一届最难-CSDN博客 二、…

[DEBUG] spring boot-如何处理链接中的空格等特殊字符

问题&#xff1a; get或者post中提交的内容可能有空格、#等特殊字符&#xff0c;不做处理的话可能解析错误。 解决&#xff1a; html中&#xff1a; <a th:href"{/listSgrna(id${item.getGeneId()},geneName${item.getGeneName()},genome${genome},sgrnaNum${sgrnaN…

【kubernetes】关于云原生之k8s集群的pod理论详解

目录 一、pod的基础概念 什么是pod&#xff1f; k8s集群中pod的两种使用方式 pod中运行容器的原则&#xff1a; 创建pod的3种方式 第一种&#xff1a;自主式Pod 第二种&#xff1a;控制器管理的Pod 第三种&#xff1a;静态Pod 二、pod中容器的基础概念 pod容器的分类 …

十三、Qt多线程与线程安全

一、多线程程序 QThread类提供了管理线程的方法&#xff1a;一个对象管理一个线程一般从QThread继承一个自定义类&#xff0c;重载run函数 1、实现程序 &#xff08;1&#xff09;创建项目&#xff0c;基于QDialog &#xff08;2&#xff09;添加类&#xff0c;修改基于QThr…

JVM的深入理解

1、JVM&#xff08;Java虚拟机&#xff09;&#xff1a;我们java编译时候&#xff0c;下通过把avac把.java文件转换成.class文件&#xff08;字节码文件&#xff09;&#xff0c;之后我们通过jvm把字节码文件转换成对应的cpu能识别的机器指令&#xff08;翻译官角色&#xff09…

TSINGSEE青犀AI智能分析网关V4智慧油田安全生产监管方案

一、方案背景 随着科技的不断发展&#xff0c;视频监控技术在油田行业中得到了广泛应用。为了提高油田生产的安全性和效率&#xff0c;建设一套智能视频监控平台保障安全生产显得尤为重要。本方案采用先进的视频分析技术、物联网技术、云计算技术、大数据和人工智能技术&#…

rhcsa(rh134)

shell 查看用户shell a、如下查看/etc/shells文件列出了系统上所有可用的 shell&#xff08;具体的可用的 shell 列表可能会因不同的红帽版本和配置而有所不同&#xff09; &#xff08;如下图/etc/shells文件包含/bin/tmux并不意味着tmux是一个shell。实际上&#xff0c;/etc/…

Git自动忽略dll文件的问题

检查了半天发现是sourcetreee的全局忽略文件导致&#xff0c; 从里面删除dll即可。 我是干脆直接删了全局忽略&#xff0c;太恶心了&#xff0c;如下&#xff1a; #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.exe .vsconfig .s…

去中心化时代,品牌如何赢得确定性增长

去中心化时代下&#xff0c;品牌面临众多挑战。在如今复杂的环境下&#xff0c;有很多不确定的因素&#xff0c;流量、资本等等&#xff0c;这些都是品牌发展过程中的不确定因素&#xff0c;越是复杂的环境下&#xff0c;品牌越要保证自己核心优势&#xff0c;找到并放大我们的…

网站添加pwa操作和配置manifest.json后,没有效果排查问题

pwa技术官网&#xff1a;https://web.dev/learn/pwa 应用清单manifest.json文件字段说明&#xff1a;https://web.dev/articles/add-manifest?hlzh-cn Web App Manifest&#xff1a;Web App Manifest | MDN 当网站添加了manifest.json文件后&#xff0c;也引入到html中了&a…

安卓使用okhttpfinal下载文件,附带线程池下载使用

1.导入okhttp包 implementation cn.finalteam:okhttpfinal:2.0.7 2.单个下载 package com.example.downloading;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.util.Log; import android.view.View;import java.io.File;import c…

K8S存储卷与PV,PVC

一、前言 Kubernetes&#xff08;K8s&#xff09;中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据&#xff0c;并且可以保持数据的持久性&#xff0c;即使Pod被重新调度或者删除&#xff0c;数据也不会丢失。 Kubernetes支持多种类型的存储卷…