【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性

简介: 【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性

一、基本语法规范

选择器 + {一条/N条声明} 选择器决定针对谁修改 (找谁)

声明决定修改什么.。(干什么)

声明的属性是键值对.。使用 : 区分键值对, 使用 : 区分键和值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
 
    <style>
        p/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>hello world</p>
</body>
</html>

二、引入方式

2.1、内部样式表

       写在 style 标签中. 嵌入到 html 内部。理论上style放在哪里都可以,但一般放在head标签中。正如上面这个例子所示。这样做可以使页面结构和样式分离,但是分离地不够彻底,尤其是当style内部内容过多时。

2.2、行内样式表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
 
    <style>
        h1/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
</head>
<body>
 
    <h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>

       通过 style 属性, 来指定某个标签的样式。行内样式表的优先级比内部样式表的优先级高,当行内样式表和内部样式表冲突时,遵循行内样式表的样式

2.3外部样式表(好用)

       将页面结构和样式完全分离,需要css文件时在通过link引入。以下代码请忽略h1标签。

<!-- demo01.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
 
    <style>
        h1/*p就是选择器*/{
            color: red;/*color和font-size都是声明*/
            font-size: 30px;
        }
    </style>
    <link rel="stylesheet" href="./demo02.css">
</head>
<body>
    <p>hello world</p>
 
    <h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>
/* demo02.css */
p{
    color: red;
    font-size: 30px;
}

三、常用选择器的种类

3.1、类选择器(好用)

       差异化表示不同的标签。标签名内可以填写多个标签名(实现修饰效果的叠加),中间用空格隔开,可以让多个标签的都使用同一个标签修饰css文件内标签名以.开头类选择器同样可以使页面结构和样式完全分离。

<!-- demo2.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
 
    <link rel="stylesheet" href="./demo2.css">
</head>
<body>
    <p class="study size">学习</p>
    <p class="streetworkout">健身</p>
    <p class="game size">打游戏</p>
</body>
</html>
/* demo2.css */
.game{
    color: red;
}
 
.study{
    color: blue;
}
 
.streetworkout{
    color: green;
}
 
.size{
    font-size: 80px;
}

3.2、id选择器

id 选择器的值和 html 中某个元素的 id 值相同。

html 的元素 id 不必带 #。

id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)。

一个标签也不能使用多个标签,否则可能出现不可知情况。

//demo3.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./demo3.css">
</head>
<body>
    <p id="fe">前端开发</p>
    <p id="de">后端开发</p>
</body>
</html>
//demo3.css
#fe{
    color: blue;
}
 
#de{
 
    color: aqua;
}

3.3、通配符选择器

使用 * 的定义, 选取所有的标签。可以用来设置背景色等属性。html样例代码同id选择器。

#fe{
    color: blue;
}
 
#de{
 
    color: aqua;
}
//设置背景色为blueviole
 
*{
    background-color: blueviolet;
}

3.4、复合选择器

选择某个父元素中的某个子元素,并可以避免冲突。起到嵌套使用的效果

//de4.html
<body>
    <ul class="aaa">
        <li class="bbb">吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
        <li>吃饭</li>
    </ul>
</body>
//demo4.css
.aaa .bbb{
    color: red;
}

3.5、伪类选择器

让鼠标对标签进行不同操作时让标签具有不同的显示效果。

a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下了但是未弹起)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./demo5.css">
 
    <style>
        a{
            color: aqua;
        }
        a:hover{
            color: blue;
        }
        a:active{
            color: chartreuse;
        }
    </style>
</head>
<body>
    <a href="#">跳转</a>
</body>
</html>

三、常用元素属性

设置字体(宋体,黑体......): font-family

设置字体大小:font-size: 20px

设置字体粗细:font-weight: bold/700

设置文字样式:font-style: italic;设置倾斜,font-style: normal;取消倾斜

文本对齐:text-align: [值]。center: 居中对齐 left: 左对齐 right: 右对齐

文本装饰:text-decoration: [值]。underline 下划线. none 啥都没有. 可以给 a 标签去掉下划线. overline 上划线. line-through 删除线

文本缩进:text-indent: [值]。使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小。

相关文章
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
397 1
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
387 1
|
8月前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
255 1
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
676 0
|
前端开发 程序员 Android开发
好程序员web前端培训分享HTML元素强制不换行
好程序员web前端培训分享HTML元素强制不换行,HTML 中 nowrap是用来强制不换行的   在排版中   对包裹plain text的标签使用nowrap属性即刻实现强制不换行.   如:   强制不换行   强制不换行   在使用div的超文本中   把div,h1,section,na...
1489 0
|
8月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
610 4
|
12月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
12月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
12月前
|
JSON 开发框架 自然语言处理
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
本文主要介绍了应用开发中的三大核心内容:生命周期管理、资源限定与访问以及多语言支持。在生命周期部分,详细说明了应用和页面的生命周期函数及其触发时机,帮助开发者更好地掌控应用状态变化。资源限定与访问章节,则聚焦于资源限定词的定义、命名规则及匹配逻辑,并阐述了如何通过 `$r` 引用 JS 模块内的资源。最后,多语言支持部分讲解了如何通过 JSON 文件定义多语言资源,使用 `$t` 和 `$tc` 方法实现简单格式化与单复数格式化,为全球化应用提供便利。
365 104