CSS的学习1

news2024/11/30 10:32:19

使用css的目的是让网页具有美观一致的页面。

语法

CSS规则由两个主要的部分构成:选择器以及一条或多条声明(样式)

选择器:h3

声明:{color:red;font-size:30px;}

选择器通常是需要改变的HTML元素;

每条声明有一个属性和一个值组成;

属性是希望设置的样式属性。每个属性有一个值,属性和值被冒号分开。

在<head>标签里面设置:

    <style>
        h3{
            color:red;
            font-size:30px;
        }
    </style>

CSS的引入方式

内敛样式(行内样式)

要使用内敛样式,要在相关标签内使用样式(style)属性。Style属性可以包括任何CSS属性。

提示:缺乏整体性和规划性,不利于维护,维护成本高

<p style="background:orange;font-size:24px;">CSS<p>

内部样式

当单个文档需要特殊样式时,就应该使用内部样式表,你可以使用<style>标签定义内部样式表。

提示:单个页面内的CSS代码具有统一性和规划性,便于维护,但是在多个页面之间容易混乱。

<head>
    <style>
        h3{
            color:red;
            font-size:30px;
        }
    </style>
</head>

外部样式

当样式需要应用于很多页面时,外部样式表是理想的选择。在使用外部样式表的情况喜爱,你可以通过一个文件来改变整个站点的外观。每个页面使用<link>标签链接到样式表。<link>标签在(文档的)头部。

<link rel="stylesheet" type="text/css" href="xxx.css">

选择器

CSS语法规则由两个主要的部分构成:选择器以及一条或多条声明(样式)

全局选择器

可以与任何元素匹配,优先级最低,一般做样式初始化。

*{
    margin:0;
    padding:0;
}

元素选择器

HTML文档中的元素,p、b、div、a、img、body等。

标签选择器,选择的是页面上所有这种类型的标签,所以经常描述“共性”,无法描述某一个元素的个性。

<p>学完了<span>前端</span>,继续学java</p>
span{
    color:red;
}
  • 所有的标签都可以是选择器,比如ul、li、label、dt、dl、input、div等
  • 无论这个标签藏得多深,一定能够被选择上
  • 选择的所有,而不是一个

类选择器

<h2 class="oneclass">你好</h2>
/*定义类选择器*/
.oneclass{
    width:800px;
}

规定用圆点‘.’来定义,针对想要的所有标签使用,优点是灵活。

类选择器的名字可以由字母、数字、横杠‘-’组成。

class属性的特点:

  • 类选择器可以被多种标签使用
  • 类名不能以数字开头
  • 同一个标签可以使用多个类选择器,用空格隔开
<h3 class="classone    classtwo">标题一</h3>//正确
<h3 class="teshu" class="zhongyao"?>标签二</h3>//错误

ID选择器

针对某一个特定的标签来使用,只能使用一次。css中的ID选择器以#来定义。

<h2 id="mytitle">你好</h2>
#mytitle{
    border:3px dashed green;
}

强调:

  • ID是唯一的(规范)
  • ID不能以数字开头

合并选择器

 语法:选择器1,选择器2,…{}

作用:提取共同的样式,减少重复的代码

.header,.footer{
    height:300px;
}
        p.h3{
            font-size:30px;
            color:red;
        }

选择器的优先级:(CSS中:权重用数字衡量)

全局选择器的权重为:0

元素选择器(标签名称)的权重为:1

类选择器(class属性名(.))的权重为:10

ID选择器(id属性名(#))的权重为:100

内联样式的权重为:1000

字体属性

CSS字体属性定义字体,颜色,大小,加粗,文字样式

color

规定文本的颜色

div{color:red;}
div{color:#ff0000;}
div{color:rgb(255,0,0);}
div{color:rgba(255,0,0,.5);}//最后一位透明度

font-size

设置文本的大小

能否管理文字的大小,在网页设计中很重要,但是不能通过调整字体大小使段落看上去像标题,是标题看上去像段落。

chrome浏览器接收的最小字体是:12px

font-weight

设置文本的粗细

c23f2ef803c34d7f93e107df45e0e92a.png

H1{font-weight:normal;}
div{font-weight:bold;}
p{font-weight:900;}

font-style

指定文本的字体样式

85976ed88abe4a5889dd0ce324f821be.png

font-family

指定一个元素的字体

提示:

  • 每个值用逗号分开
  • 如果字体名称包含空格,他必须加上引号
font-family:"Microsoft YaHei","Simsun","SimHei";

背景

dd5d14d7401645abaf6970b14b2eed34.png

 background-color属性

设置背景颜色

<div class="box"></div>
.box{
    width:300px;
    height:300px;
    background-color:palevioletred;
}

background-image属性

设置元素的背景图像

默认情况下background-image属性放置在元素的左上角,如果图像不够大——垂直和水平方向平铺图像,如果图像大小超过元素大小——从显示图像的左上角元素

<div class="box"></div>
.box{
     width:300px;
     height:300px;
     background-image: url("1.webp");
}

background-repeat属性

该属性设置如何平铺背景图像

284b280764bc444db2283f49750bf1de.png

background-size属性

该属性设置背景图像的大小

2c7f865f60464e2ea52504ee8fc4bd8b.png

.box{
    width:600px;
    heigh:600px;
    background-image:url("images/imgl.jpg");
    background-repeat:no-repeat;
    background-size:100% 100%;
}

background-position属性

该属性设置背景图像的起始位置,其默认值是0% 0%

34d7e2c92e6e44a5905c241187b4bd7d.png

.box{
    width:600px;
    height:600px;
    background-color:#fcc;
    background-image:url("images/img1.jpg");
    background-position:center;
}

 文本属性

text-align

指定元素的水平对齐方式

bf0cad70bd1d43779abf309246a03573.png

h1{text-align:center}
h2{text-align:left}
h3{text-align:right}

 text-decoration

规定添加到文本的修饰,下划线,上划线,删除线等。

6336f2b311e34c1a8cfd2f72a78e0810.png

h1{text-decoration:overline}
h2{text-decoration:line-through}
h3{text-decoration:underline}

text-transforn

控制文本的大小写

39a8ea6ce4c149c2aeb84c38373db420.png

h1{text-transform:uppercase;}
h2{text-transform:capitalize;}
p{text-transform:lowercase;}

text-indent

规定文本块中首行文本的缩进

p{
    text-indent:50px;
}

提示:

负值是允许的,如果值是负数,将第一行左缩进。

表格属性 

表格边框

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

table,td{
    border:1px solid black;
}

 折叠边框

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

table,td{border-collapse:collapse;}
table,td{border:1px solid black;}

表格的宽度和高度

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

table{width:100%';}
td{height:50px;}

表格中的文本对齐

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

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

td{text-align:right;}
td{height:50px;vertical-align:bottom;}

表格填充

如果在表的内容中控制空格之间的边框,应使用td和th元素的填充属性

td{padding:15px;}

表格颜色

指定边框的颜色,和th元素的文本和背景颜色

table,td,th{
    border:1px solid green;
}
td{background-color:green;color:white;}

关系选择器

  • 后代选择器
  • 子代选择器
  • 相邻兄弟选择器
  • 通用兄弟选择器

后代选择器

定义

选择所有被E元素包含的F元素,中间用空格隔开

语法

E F{}
    <ul>
        <li>宝马</li>
        <li>奔驰</li>
    </ul>
    <ol>
        <li>奥迪</li>
    </ol>
ul li{
    color:green;
}

子代选择器

选择所有作为E元素的直接子元素F,对更深一层的元素不起作用,用>表示

E>F{}
    <div>
        <a href="#">子元素</a>
        <p><a href="#">孙元素</a></p>
        <a href="#">子元素</a>
    </div>
div>a{
    color:red;
}

相邻兄弟选择器

定义

选择紧跟E元素后的F元素,用加号表示,选择相邻的第一个兄弟元素

语法

E+F{}
    <h1>h1元素</h1>
    <p>第一个元素</p>
    <p>第二个元素</p>
        h1+p{
            color:red;
        }

通用兄弟选择器

定义

选择E元素之后的所有兄弟元素F,作用与多个元素,用~隔开

语法

E~F{}
    <p>第零个元素</p>
    <h1>h1元素</h1>
    <p>第一个元素</p>
    <p>第二个元素</p>
    <div>第三个元素</div>
    <p>第四个元素</p>
        h1~p{
            color:red;
        }

其中第零个元素和第三个元素显示的是默认字体颜色,其他都显示为红色。

CSS盒子模型

概念

所有HTML元素都可以看做盒子,在CSS中,“box model”这一属于是用来设计和布局时使用,CSS模型本质上是一个盒子,封装周围的HTML元素,包括:外边距(margin),边框(border),内边距(padding),实际内容(content)

9919a415ba9248bcb34ba78841bf5692.png

  • Margin(外边距)        清除边框外的区域,外边框是透明的
  • Border(边框)       围绕在内边距和内容外的边框
  • Padding(内边距)        清除内容周围的区域,内边距是透明的
  • Content(内容)       盒子的内容,显示文本和图像

弹性盒模型

定义

弹性盒子是CSS的一种布局模式

当页面需要适应不用的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式

弹性盒模型提供了一种更加有效的方式来对一个容器中的子元素进行排列,对齐,分配空白空间

内容

弹性盒由弹性容器和弹性子元素组成

通过设置display属性的值为flex将其定义为弹性容器

弹性容器内包含了一个或多个弹性子元素

提示:

弹性容器外及弹性子元素内是正常渲染的,弹性盒子只定义了弹性子元素如何在弹性容器内布局、

    <div class="container">
        <div class="flex-item1">flex item 1</div>
        <div class="flex-item2">flex item 2</div>
        <div class="flex-item3">flex item 3</div>
    </div>
    <style>
        .container{
            display:flex;
            width:400px;
            height:250px;
            background-color:lightgrey;
        }
    </style>

弹性盒子里内容默认是横向摆放的

父元素上的属性

display属性

  • display:flex;开启弹性盒
  • display:flex;属性设置后子元素默认水平排列

flex-direction属性

定义

flex-direction属性指定了弹性子元素在父容器中的位置

语法

flex-direction:row|row-reverse|column|column-reverse
  • row:横向从左到右排列(左对齐),默认的排列方式
  • row-reverse:反转横向排列(右对齐,从后往前拍,最后一项排在最前面)
  • column:纵向排列

justify-content属性

定义

内容对齐属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线对齐

语法

justify-content:flex-start|flex-end|center
  • flex-start:弹性项目向行头紧挨着填充,这个是默认值,第一个弹性项目的main-start外边距边线被放置在该行的main-start边线,而后续弹性项一次平齐摆放
  • flex-end:弹性项目向行尾紧挨着填充,第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项一次平齐摆放
  • center:弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)

子元素上的属性

flex-grow根据弹性盒子元素所设置的扩展因子作为比率来分配剩余空间

默认为0,如果空间足够大,也不放大

如果只有一个子元素设置,那么按扩展因子转化的百分比对齐分配剩余空间,0.1即10%,1即100%

    <style>
        .container{
            width:400px;
            height:400px;
            background-color:lightgrey;
            display:flex;
            flex-direction: row;
            justify-content: center;
            align-items:center;
        }
        .box1{
            height:100px;
            background-color: red;
            flex:1;
        }
        .box2{
            height:100px;
            background-color: green;
            flex:2;
        }
        .box3{
            height:100px;
            background-color: blue;
            flex:1;
        }
    </style>

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六一儿童节-王者连连看

庆祝六一 用java实现的连连看练手小游戏 王者连连看 &#x1f923; 游戏介绍&#x1f61c; 核心&#x1f62e;‍&#x1f4a8;总结&#xff1a; &#x1f923; 游戏介绍 王者连连看游戏的目标是通过消除相同的图案来得分并进入更高级别的挑战。   游戏分为四个难度   可以自…

cpp: Visitor Pattern

/*****************************************************************//*** \file Gold.h* \brief 访问者模式 Visitor Pattern C 14 行为模式* 2023年6月8日 涂聚文 Geovin Du Visual Studio 2022 edit.文章来源《C新经典设计模式》 王健伟编著 清华大学出版社* \author…

记录:VS2019+OpenCV4.7.0编译

一、准备 OpenCV官网提供了动态库的安装包&#xff0c;但是只有64位&#xff0c;而且没看到编译参数&#xff0c;如果需要32位或者静态链接还是得自己编译。 CMake&#xff1a;https://cmake.org/download/ Visual Studio&#xff1a;https://visualstudio.microsoft.com/zh…

计算机组成原理——中央处理器

文章目录 **一 CPU的功能和基本结构****1 CPU的功能****2 [基本结构](http://t.csdn.cn/bpCt3)****2.1 运算器****2.2 控制器** **二 指令执行过程****1 指令周期****2 指令周期的数据流****2.1 取指周期****2.2 间址周期****2.3 执行周期****2.4 中断周期** **3 指令的执行方案…

chatgpt赋能python:如何下载Python中的jieba包

如何下载Python中的jieba包 随着Python的普及&#xff0c;很多程序员选择使用Python作为自己的主力编程语言。对于自然语言处理方面的任务&#xff0c;jieba是Python中一个非常优秀的分词工具。那么&#xff0c;如何下载和使用Python中的jieba包呢&#xff1f;本篇文章将为您详…

【MySQL数据库 | 第十四篇】多表查询案例

目录 前言&#xff1a; 引入背景&#xff1a; 练习&#xff1a; 前言&#xff1a; 在第十三篇我们已经详细的介绍了多表查询的类别以及每一个类别的语法&#xff1a;【MySQL数据库 | 第十三篇】多表查询&#xff0c;今天我们将通过案例来巩固我们对多表查询语法的熟悉度。 引入…

JavaSE笔记(二)重制版

面向过程篇 前面我们已经认识了Java语言的相关特性&#xff0c;并且已经成功配置好了开发环境&#xff0c;从这节课开始&#xff0c;我们就可以正式进入到Java语言的学习当中了。Java语言是一门面向对象的语言&#xff0c;但是在面向对象之前&#xff0c;我们还得先学会如何面…

【IMX6ULL驱动开发学习】05.IMX6ULL驱动开发_编写第一个hello驱动【熬夜肝】

经过以下四个步骤&#xff0c;终于可以开始驱动开发了 01.安装交叉编译环境【附下载地址】 02.IMX6ULL烧写Linux系统 03.设置IMX6ULL开发板与虚拟机在同一网段 04.IMX6ULL开发板与虚拟机互传文件 目录 一、获取内核、编译内核 二、创建vscode工作区&#xff0c;添加内核目录…

《计算机组成原理》期末考试手写笔记——模块五: 并行主存系统(交叉存储器+顺序存储器“带宽”的计算方法)

目录 &#xff08;一&#xff09;知识点总结 &#xff08;二&#xff09;经典考试例题 1.设主存储器容量为256字&#xff0c;字长为32位&#xff0c;模块数m4&#xff0c;分别用顺序方式和交叉方式进行组织。主存储器的存储周期T200ns&#xff0c;数据总线宽度为32位&#x…

EMQ X(2):EMQ X服务端环境搭建与配置

1 安装 EMQ X 目前支持的操作系统: Centos6Centos7OpenSUSE tumbleweedDebian 8Debian 9Debian 10Ubuntu 14.04Ubuntu 16.04Ubuntu 18.04macOS 10.13macOS 10.14macOS 10.15Windows Server 2019 产品部署建议 Linux 服务器&#xff0c;不推荐 Windows 服务器。 安装的方式有…

【Linux】HTTP协议

目录 &#x1f680;前言&#x1f683;HTTP协议 &#x1f684;1、URL网址&#x1f685;2、URL的编码和解码&#x1f687;3、HTTP协议格式&#x1f688;4、HTTP请求&#x1f689;4.1、 HTTP GET和POST方法&#x1f68b;4.2、HTTP状态码&#x1f68a;4.3、HTTP常见Header &#x1…

redis架构设计: redis-server的启动(硬核分析)

怎么在windows上用clion搭建redis的源码阅读环境 请看我的上一篇文章 redis启动之后都干了什么呢? 我们知道&#xff0c;redis的服务端对应的源码位置是server.c main函数是程序启动的入口 &#xff0c;下面我来一行一行的分析server.c的源码 1、定义时间函数变量 struct …

chatgpt赋能python:Python多种输出格式详解

Python多种输出格式详解 对于Python程序员来说&#xff0c;输出是非常重要的。无论是在开发阶段还是在生产环境中&#xff0c;输出都是我们调试程序和确认程序运行是否正常的重要手段。Python标准库提供了丰富的输出格式&#xff0c;本文介绍了几种常见的输出格式及其使用方法…

因为写不出拖拽移动效果,我恶补了一下Dom中的各种距离

目录 背景 JS Dom各种距离释义 第一个发现 window.devicePixelRatio 的存在 document.body、document.documentElement和window.screen的宽高区别 scrollWidth, scrollLeft, clientWidth关系 元素自身和父级元素的scrollWidth和scrollLeft关系? offsetWidth和clientWid…

【FDA】图像通过傅里叶变换改变光谱风格,实现域自适应

FDA: Fourier Domain Adaptation for Semantic Segmentation, CVPR2020 翻译&#xff1a;CVF2020邻域自适应/语义分割&#xff1a;FDA: Fourier Domain Adaptation for Semantic SegmentationFDA&#xff1a;用于语义分割的傅立叶域自适应算法_傅里叶域适应_HheeFish的博客-CS…

【TCP/IP】多进程服务器的实现(进阶) - 进程和僵尸进程

目录 僵尸(Zombie)进程 僵尸进程的产生机制 僵尸进程的危害 僵尸进程的销毁 wait函数 waitpid函数 进程管理在网络编程中十分重要&#xff0c;如果未处理好&#xff0c;将会导致出现“僵尸进程”&#xff0c;进而影响服务器端对进程的管控。 僵尸(Zombie)进程 第一次听到…

数据类型

常见的数据类型&#xff1a; int&#xff0c;整数类型&#xff08;整形&#xff09;bool&#xff0c;布尔类型str&#xff0c;字符串类型list&#xff0c;列表类型tuple&#xff0c;元组类型dict&#xff0c;字典类型set&#xff0c;集合类型float&#xff0c;浮点类型&#x…

python Web开发 flask轻量级Web框架实战项目--学生管理系统

上次发的一篇文章&#xff0c;有很多朋友私信我要后面的部分&#xff0c;那咱们就今天来一起学习一下吧&#xff0c;因为我的数据库这门课选中的课题是学生管理系统&#xff0c;所以今天就以这个课题为例子&#xff0c;从0到1去实现一个管理系统。数据库设计部分我会专门出一个…

《Java 核心技术面试》课程笔记(十二)

Java 有几种文件拷贝方式&#xff1f;哪一种最高效&#xff1f; 典型回答 Java 有多种比较典型的文件拷贝实现方式&#xff0c;比如&#xff1a;利用java.io 类库&#xff0c;直接为源文件构建一个 FileInputStream 读取&#xff0c;然后再为目标文件构建一个 FileOutputStre…

chatgpt赋能python:Python模块(Module)是什么?

Python模块&#xff08;Module&#xff09;是什么&#xff1f; Python模块&#xff08;Module&#xff09;是指一些预先编写好的代码&#xff0c;这些代码可以在程序中被引入和使用。它们可以包含可以复用的函数、常量和类。Python模块是一种封装程序代码的方法。 下载Python…