前端——Html+CSS
目录
CSS引入方式
颜色表达方式
CSS选择器
去掉超链接的下划线
路径表示
行高和首行缩进
常见标签
布局标签
flex布局
表单标签
表单项标签
改变鼠标指针的样式
表格标签
div{ box-sizing: border-box; }
CSS引入方式
具体有3种引入方式,语法如下表格所示:
名称 | 语法描述 | 示例 |
行内样式 | 在标签内使用style属性,属性值是css属性键值对。 | <h1 style="xxx:xxx;">中国新闻网</h1> |
内部样式 | 定义<style>标签,在标签内部定义css样式。 | <style> h1 {...} </style> |
外部样式 | 定义<link>标签,通过href属性引入外部css文件 | <link rel="stylesheet" href="css/news.css"> |
对于上述3种引入方式,企业开发的使用情况如下:
-
行内样式:会出现大量的代码冗余,不方便后期的维护,所以不常用(常配合JS使用)。
-
内部样式:通过定义css选择器,让样式作用于当前页面的指定的标签上。(可以写在页面任何位置,但通常约定写在head标签中)
-
外部样式:html和css实现了完全的分离,企业开发常用方式。
颜色表达方式
在前端程序开发中,颜色的表示方式常见的有如下三种:
表示方式 | 属性值 | 说明 | 取值 |
关键字 | 颜色英文单词 | red、green、blue | red、green、blue... |
rgb表示法 | rgb(r, g, b) | 红绿蓝三原色,每项取值范围:0-255 | rgb(0,0,0)、rgb(255,255,255)、rgb(255,0,0) |
rgba表示法 | rgba(r, g, b, a) | 红绿蓝三原色,a表示透明度,取值:0-1 | rgb(0,0,0,0.3)、rgb(255,255,255,0.5) |
十六进制表示法 | #rrggbb | #开头,将数字转换成十六进制表示 | #000000、#ff0000、#cccccc,简写:#000、#ccc |
CSS选择器
选择器是选取需设置样式的元素(标签),但是我们根据业务场景不同,选择的标签的需求也是多种多样的,所以选择器有很多种。
选择器 | 写法 | 示例 | 示例说明 |
元素选择器 | 元素名称 {...} | h1 {...} | 选择页面上所有的<h1>标签 |
类选择器 | .class属性值 {...} | .cls {...} | 选择页面上所有class属性为cls的标签 |
id选择器 | #id属性值 {...} | #hid {...} | 选择页面上id属性为hid的标签 |
分组选择器 | 选择器1,选择器2{...} | h1,h2 {...} | 选择页面上所有的<h1>和<h2>标签 |
属性选择器 | 元素名称[属性] {...} | input[type] {...} | 选择页面上有type属性的<input>标签 |
元素名称[属性名="值"] {...} | input[type="text"] {...} | 选择页面上type属性为text的<input>标签 | |
后代选择器 | 元素1元素2{...} | form input {...} | 选择<form>标签内的所有<input>标签 |
优先级:
id>类>元素
去掉超链接的下划线
<style>
/* 去掉超链接的下划线 */
a{
text-decoration: none;
}
</style>
路径表示
在引入图片、视频、音频、css等内容时,我们需要指定文件的路径,而在前端开发中,路径的书写形式分为两类:
-
绝对路径:
-
绝对磁盘路径:
<img src="C:\Users\Administrator\Desktop\HTML\img\logo.png">
-
绝对网络路径:
<img src="
https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png
">
-
-
相对路径:
./ : 当前目录 , ./ 可以省略的
../: 上一级目录
行高和首行缩进
p {
line-height: 2; /* 两倍的行高 */
text-indent: 2em; /* 2个字符的缩进 */
}
常见标签
标签 | 作用 | 属性/说明 |
<video> | 视频标签 | src:指定视频的url(绝对路径/相对路径) |
controls:是否显示播放控件 | ||
width:宽度(像素/相对于父元素百分比);备注: 一般width 和 height 我们只会指定一个,另外一个会自动的等比例缩放。 | ||
height:高度(像素/相对于父元素百分比);备注: 一般width 和 height 我们只会指定一个,另外一个会自动的等比例缩放。 | ||
<img> | 图片标签 | src, width,height |
<p> | 段落标签 | |
<br> | 换行标签 | |
<b> / <strong> | 加粗 | <strong> 具有强调语义 |
<u> / <ins> | 下划线 | <ins> 具有强调语义 |
<i> / <em> | 倾斜 | <em> 具有强调语义 |
<s> / <del> | 删除线 | <del> 具有强调语义 |
在HTML页面中,我们在代码中录入空格、<、> 这些符号的时候,是没有对应的效果的,因为浏览器并不能准确的识别,此时,我们就需要通过字符实体来表示空格,<, > 。常见符号的字符实体如下:
字符实体 | 属性/说明 |
| 空格 |
< | < |
> | > |
布局标签
-
布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。
-
标签:
<div>
<span>
-
特点:
-
<div>
标签:-
一行只显示一个(独占一行)
-
宽度默认是父元素的宽度,高度默认由内容撑开
-
可以设置宽高(width、height)
-
-
<span>
标签:-
一行可以显示多个
-
宽度和高度默认由内容撑开
-
不可以设置宽高(width、height)
-
-
padding、margin属性值,可以是4个值、也可以是两个值、也可以是一个值,具体的含义如下:
-
padding: 20px 20px 20px 20px;
-------> 表示上、右、下、左都是20px; -
padding: 20px 10px;
----------------------> 表示上下是20px,左右是10px; -
padding: 20px;
-----------------------------> 表示上、右、下、左都是20px;
flex布局
-
flex是flexible Box的缩写,意为"弹性布局"。采用flex布局的元素,称为Flex容器(container),它的所有子元素自动成为容器成员,称为Flex项目(item)。
-
通过给父容器添加flex属性,来控制子元素的位置和排列方式。
属性 | 说明 | 取值 | 含义 |
display | 模式 | flex | 使用flex布局 |
flex-direction | 设置主轴 | row | 主轴方向为x轴,水平向右。(默认) |
column | 主轴方向为y轴,垂直向下。 | ||
justify-content | 子元素在主轴上的对齐方式 | flex-start | 从头开始排列 |
flex-end | 从尾部开始排列 | ||
center | 在主轴居中对齐 | ||
space-around | 平分剩余空间 | ||
space-between | 先两边贴边,再平分剩余空间 |
.header{
background-color: #FEDCDD;
width: 100%;
height: 130;
/* 将里面两个盒子左右分布 */
display: flex;
justify-content: space-between; /* 两边贴边 */
}
表单标签
-
表单场景: 表单就是在网页中负责数据采集功能的,如:注册、登录的表单。
-
表单标签:
<form>
-
表单属性:
-
action
: 规定表单提交时,向何处发送表单数据,表单提交的URL。 -
method
: 规定用于发送表单数据的方式,常见为: GET、POST。-
GET
:表单数据是拼接在url后面的, 如: xxxxxxxxxxx?username=Tom&age=12,url中能携带的表单数据大小是有限制的。 -
POST
: 表单数据是在请求体(消息体)中携带的,大小没有限制。
-
-
<form action="/save" method="post">
姓名:<input type="text" name="name">
年龄:<input type="text" name="age">
<input type="submit" value="提交">
</form>
-
表单项标签: 不同类型的input元素、下拉列表、文本域等。
-
input
: 定义表单项,通过type属性控制输入形式 -
select
: 定义下拉列表 -
textarea
: 定义文本域
-
注意事项:
表单中的所有表单项,要想能够正常的采集数据,在提交的时候能提交到服务端,表单项必须指定name属性。 否则,无法提交该表单项。
用户名: <input type="text" name="username">
表单项标签
在一个表单中,可以存在很多的表单项,而虽然表单项的形式各式各样,但是表单项的标签其实就只有三个,分别是:
-
<input>
: 表单项 , 通过type属性控制输入形式。
type取值 | 描述 |
text | 默认值,定义单行的输入字段 |
password | 定义密码字段 |
radio | 定义单选按钮 |
checkbox | 定义复选框 |
file | 定义文件上传按钮 |
date/time/datetime-local | 定义日期/时间/日期时间 |
number | 定义数字输入框 |
定义邮件输入框 | |
hidden | 定义隐藏域 |
submit / reset / button | 定义提交按钮 / 重置按钮 / 可点击按钮 |
-
<select>
: 定义下拉列表,<option>
定义列表项 -
<textarea>
: 文本域
而对于<input type="hidden">
,是一个隐藏域,在表单中并不会显示出来,但是在提交表单的时候,是会提交到服务端的。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="/save" method="post">姓名:<input type="text"> <br></br>密码:<input type="password"> <br></br>性别:<!-- value属性代表最终提交的值,默认为空字符串 --><label><input type="radio" name="gender" value="1">男</label><label><input type="radio" name="gender" value="0">女</label><br></br>爱好:<label><input type="checkbox">java</label><label><input type="checkbox">python</label><label><input type="checkbox">c语言</label><label><input type="checkbox"checked >web</label><label><input type="checkbox">三国杀</label><br></br>图像:<input type="file"><br></br><!-- date属性,选择年月日 -->生日:<input type="date"><br></br><!-- time属性,选择小时分钟 -->时间:<input type="time"><br></br><!-- datetime-local属性,选择年月日和小时分钟 -->日期和时间:<input type="datetime-local"><br></br>学历:<select><option>----------请选择----------</option><option>小学</option><option>初中</option><option>高中</option><option>大学</option></section><br><br><!-- cols属性,设置文本域的宽度,rows属性,设置文本域的高度 -->描述:<textarea cols="30" rows="10"></textarea><br></br><!-- value属性,设置隐藏域最后提交值服务器的值 --><input type="hidden" value="1"><input type="button" value="按钮"><input type="submit" value="提交"></input><button type="reset">重置 </button></form></body>
</html>
改变鼠标指针的样式
.form button{
/* 当用户将鼠标移到该按钮上时,鼠标指针就会变为手形,表明这个按钮是可以点击的。 */
cursor: pointer;
}
表格标签
标签 | 描述 |
<table> | 定义表格整体 |
<thead> | 用于定义表格头部(可选) |
<tbody> | 定义表格中的主体部分(可选) |
<tr> | 表格的行,可以包裹多个 <td> |
<td> | 表格单元格(普通),可以包裹内容;如果是表头单元格,可以替换为 <th> |
div{ box-sizing: border-box; }
当你设置 box-sizing: border-box;
后,元素设定的宽度和高度将包含内容(content)、内边距(padding)和边框(border)的宽度。这意味着,如果同样设置宽度(width)和高度(height)为 100px,即使存在 10px 的 padding 和 1px 的边框,该 <div>
的总宽度和高度依然保持为 100px。浏览器会自动调整内容区域的大小来适应这些设定。
* {box-sizing: border-box;
}
相关文章:
前端——Html+CSS
目录 CSS引入方式 颜色表达方式 CSS选择器 去掉超链接的下划线 路径表示 行高和首行缩进 常见标签 布局标签 flex布局 表单标签 表单项标签 改变鼠标指针的样式 表格标签 div{ box-sizing: border-box; } CSS引入方式 具体有3种引入方式,语法如下表格所…...

Linux(DISK:raid5、LVM逻辑卷)
赛题拓扑: 题目: DISK 添加4块大小均为10G的虚拟磁盘,配置raid-5磁盘。创建LVM命名为/dev/vg01/lv01,大小为20G,格式化为ext4,挂在到本地目录/webdata,在分区内建立测试空文件disk.txt。[root@storagesrv ~]# yum install mdadm -y [root@storagesrv ~]# mdadm -C -n …...

N个utils(sql)
sql,操作数据库的语言,也可以叫做数据库软件的指令集吧。名字而已,无所谓啦。 本质上,sql并不是java语言内的范畴。但却是企业级开发的范畴。并且我整个文章的一篇逻辑的本质,层的概念,其中一个大的层级就…...

以太网实战AD采集上传上位机——FPGA学习笔记27
一、设计目标 使用FPGA实现AD模块驱动采集模拟电压,通过以太网上传到电脑上位机。 二、框架设计 数据位宽转换模块(ad_10bit_to_16bit):为了方便数据传输,数据位宽转换模块实现了将十位的 AD 数据转换成十六位&#…...

Python数据分析案例70——基于神经网络的时间序列预测(滞后性的效果,预测中存在的问题)
背景 这篇文章可以说是基于 现代的一些神经网络的方法去做时间序列预测的一个介绍科普,也可以说是一个各种模型对比的案例,但也会谈一谈自己做了这么久关于神经网络的时间序列预测的论文,其中一些常见的模式及它们存在的问题以及效果&#x…...

vue+高德API搭建前端Echarts图表页面
利用vue搭建Echarts图表页面,在搭建Echarts图表中,如果搭建地理地形图需要准备一些额外的文件,地理json文件和js文件,js文件目前在网上只能找省一级的,json文件有对应的省市县,js文件和json文件对应的也是不…...

提示词工程:解锁AI潜能的关键技术
什么是提示词工程? 提示词工程(Prompt Engineering)是一门新兴的技术领域,专注于如何设计和优化与生成式人工智能的交互提示,以获得最佳的输出结果。它是连接人类意图和AI能力的桥梁,通过精心设计的文本输入来引导AI模型产生准确、相关且有价值的输出。 核心概念 提示(…...

Python制作简易PDF查看工具PDFViewerV1.0
PDFViewer PDF浏览工具,Python自制PDF查看工具,可实现基本翻页浏览功能,其它功能在进一步开发完善当中,如果有想一起开发的朋友,可以留言。本软件完全免费,自由使用。 软件界面简洁,有菜单栏、…...

嵌入式硬件篇---基本组合逻辑电路
文章目录 前言基本逻辑门电路1.与门(AND Gate)2.或门(OR Gate)3.非门(NOT Gate)4.与非门(NAND Gate)5.或非门(NOR Gate)6.异或门(XOR Gate&#x…...

CSRF攻击XSS攻击
概述 在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等标签以及 Ajax 都可以指向一个资源地址,而所谓的跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。这里的域指…...

ARM学习(42)CortexM3/M4 MPU配置
笔者之前学习过CortexR5的MPU配置,现在学习一下CortexM3/M4 MPU配置 1、背景介绍 笔者在工作中遇到NXP MPU在访问异常地址时,就会出现总线挂死,所以需要MPU抓住异常,就需要配置MPU。具体背景情况可以参考ARM学习(41)NXP MCU总线挂死,CPU could not be halted以及无法连…...
opencv3.4 ffmpeg3.4 arm-linux 交叉编译
一些依赖安装: sudo apt-get install pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev 交叉编译工具链准备:gcc-linaro-6.3.1 1、下载 https://github.com/FFmpeg/FFmpeg 解压后新建目录:Fmpeg-n3.4.13/ffmpeg…...

spring的事物管理的认知
事物 它是一个原子操作要么全部不执行,要么全部执行成功,如果有一个失败也会撤销,它保证用户每一次的操作都是可靠的,即使时出现了错误也不至于破坏数据的完整性 它包含了四种特性: 原子性:保证事物要么…...

麒麟LINUX V10SP3 2401安装ORACLE 12.2.1 runInstaller直接报UNZIP格式不对
好久没有安装ORACLE了,一般都是RHEL上安装得比较多,这不,现在大家都是选择国产操作系统来安装数据库了,以前在龙蜥,欧拉,麒麟上也安装过,都没有问题,想来在麒麟LINUX v10sp3 2401上面…...

华为HuaweiCloudStack(一)介绍与架构
本文简单介绍了华为HCS私有云解决方案,并从下至上介绍HCS的整体架构,部署架构、部署方式等内容。 目录 HCS简介 HCS架构 纵向结构 ?管理平台类型 HCS节点类型 FusionSphere OpenStack CPS ServiceOM SC 运营面 OC 运维面 HCS部署架构 regi…...

微服务学习:基础理论
一、微服务和应用现代化 1、时代的浪潮,企业的机遇和挑战 在互联网化数字化智能化全球化的当今社会,IT行业也面临新的挑战: 【快】业务需求如“滔滔江水连绵不绝”,企业需要更快的交付【变】林子大了,百色用户&…...
C++实现设计模式---迭代器模式 (Iterator)
迭代器模式 (Iterator) 迭代器模式 是一种行为型设计模式,它提供了一种方法,顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 意图 提供一种方法,可以顺序访问一个容器对象中的元素,而无需暴露其…...

海康工业相机的应用部署不是简简单单!?
作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 笔者使用的设备及环境:WSL2-Ubuntu22.04MV-CS016-10UC 不会吧?不会吧?不会还有人拿到海康工业相机还是一脸懵叭?不会还有人…...

Windows电脑安装File Browser与cpolar轻松搭建本地云盘
文章目录 前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 无论是个人用户还是企业团队,都希望能够有一个高效、安全的解决方案来…...

mac配置 iTerm2 使用lrzsz与服务器传输文件
mac配置 1. 安装支持rz和sz命令的lrzsz brew install lrzsz2. 下载iterm2-send-zmodem.sh和iterm2-recv-zmodem.sh两个脚本 # 克隆仓库 git clone https://github.com/aikuyun/iterm2-zmodem ~/iterm2-zmodem# 进入到仓库目录 cd ~/iterm2-zmodem# 设置脚本文件可执行权限 c…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
6.9本日总结
一、英语 复习默写list11list18,订正07年第3篇阅读 二、数学 学习线代第一讲,写15讲课后题 三、408 学习计组第二章,写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语:复习l默写sit12list17&#…...