当前位置: 首页 > news >正文

【H2O2|全栈】关于CSS(6)CSS基础(五)

目录

CSS基础知识

前言

准备工作

网页项目规范

创建项目

布局

补充一部分属性

outline

border-radius

预告和回顾

后话


CSS基础知识

前言

本系列博客将分享层叠样式表(CSS)有关的知识点。

本期博客主要分享的是网页项目规范,outline属性,部分伪类/伪元素的扩充,以及圆角半径的相关知识点。听着有些不着边际,但毕竟是补充嘛。

不是专业的科普博主,主打一个分享知识,写的不好,多多包涵(嘿嘿)。

准备工作

软件:参考版本Visual Studio Code

插件(扩展包):Open in browser, Live Preview, Live Server

浏览器版本:Chrome

系统版本: Win10/11/其他非Windows版本

*我的电脑是Win10的版本,仅供参考*

网页项目规范

创建项目

对于一个标准的网页项目来说,至少应当包含首页(index.html)、css文件夹、js文件夹、图片文件夹和icon图标文件夹。

一个简单的项目在VS的资源管理器中打开,大概是这个样子的:

其中,首页的名称index是固定的,其他的界面都可以通过这个界面来跳转。对于服务器来说,它识别一个项目都是默认寻找index.html文件的。

在css文件夹中,一般保存页面名+样式表文件后缀,来代表对应页面的样式。

当然,有时我们还会看到common.css这样的样式文件,它通常负责全局通用的一些样式。

在javascript文件夹中,通常保存与用户交互的脚本文件,同样也是页面名脚本文件后缀。

有时,我们还会引入一些第三方的脚本文件,比如JQuery的脚本文件,这个仅做了解,后面JS部分我会再说。

image文件夹通常保存网页的雪碧图,或者一些LOGO文件等。对于一些比较大的图片,一般会使用数据库后期导入,而不是提前放到image中。

favicon文件夹会保存一些小图标,比如标题栏图标等。

布局

通常来说,在制作网页时我们会拿到网页的设计稿,一般为psd文件,也就是PS文件。

在设计稿已给出的情况下,我们就不能凭感觉去制作一个网页了,而是需要百分之百还原设计稿的尺寸。

那么,既然要完全还原设计稿,可以使用哪些方式呢?

首先当然是我们的Photoshop,用它来处理一个设计稿是最原始,也是最精准的。我们可以利用PS的辅助线功能,依次对齐网页元素的各条边,记录它们的横纵坐标。利用坐标之间的差值,就可以获取元素的标准尺寸了。

当然,使用PS可能还涉及到取色器的使用,这里当然可以使用PS自带的取色器。如果我们需要获取PS软件之外的颜色,还可以使用到QQ的截图功能,快捷键通常为Ctrl+Alt+A。此时鼠标悬浮的位置的颜色的十六进制代码就可以使用Ctrl+C复制下来。

第二种辅助测量的工具是MarkMan,它是一个比较方便但是略微不精确的软件。在MarkMan的官网下载之后(可能要按照提示安装air文件的解析软件),看到的应该是这个界面:

其实,我们可以将设计稿的psd文件拖入其中,这里给出一个示例网页的psd文件(我暂时没有设计稿哈),拖入其中后,进入如下界面:

使用下方正中间工具栏的第一个工具,在想要测量的位置两端拉出测量区间,就可以测量元素大小了:

使用第二个工具,可以知道任意点的坐标:

使用第三个工具,可以对设计稿的任意部位取色:

使用第四个工具,可以对设计稿的任意组件标记文字说明:

使用最后一个工具,可以移动设计稿,按住Ctrl+滚轮,还可以缩放设计稿。:

除了上述两种工具之外,在正式的工作当中使用的比较多的还有pxcook墨刀等工具,后面我会在前端前置知识专栏里专门来讲这些软件的使用,在此就仅供了解了。

补充一部分属性

outline

该属性也叫轮廓线,包裹于元素周围,不占空间,作用是突出元素

常常用于input元素。 

outline有三个属性值,依次是outline-widthoutline-styleoutline-color,默认的颜色为黑色。

比如,现在我们有一个输入框:

当我们光标选中它时,它的外侧就会出现这样一个黑色的圈:

如果我们给它加上outline属性:

input:focus {outline: 1px solid blue;}

那么我们光标选中时的效果就可以发生改变:

其中 :focus是一个补充的伪类,也就是光标聚焦(选中)的效果。

类似的伪类还有 :selection,代表被选中的文本。

border-radius

该属性用于设置元素的圆角,简写的话,从左上角开始依次以顺时针方向设置四个角向水平垂直方向收回的长度。单位是px,%,em和rem。

不过,我们现在看到的圆角按钮,一般四个角都是统一设置圆角程度的,且水平和垂直方向收回的程度通常是一致的。

当然,如果要拆分开来,那么其实可以拆分为8个属性,比如上左水平:border-top-left-radius,属性名先写水平向后写垂直向,仅供了解。

如果只用border-radius这一个属性名,想单独设置某个方向的收缩,则规则是先设置水平再设置垂直,中间以 / 符号分开。

我们可以利用这个特性,将下面这个长矩形变形:

变形CSS代码如下:

border-radius: 50% 50%/60% 60% 40% 40%;

变形后效果:

预告和回顾

在下一期博客可能依然是对前面内容的补充,也许确实该讲讲定位了...不过也会不定期的直接给出一些典型网页的制作流程。

对网页布局和制作感兴趣的朋友,可以看下面的CSS专栏,里面有很多讲解详尽的案例,当前为第六期:

专栏 | CSS入门icon-default.png?t=O83Ahttp://t.csdnimg.cn/4bvCJ当然,也欢迎对全栈项目感兴趣的朋友查看我的其他专栏。

后话

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

——疑似有点缺氧的【H2O2】

相关文章:

【H2O2|全栈】关于CSS(6)CSS基础(五)

目录 CSS基础知识 前言 准备工作 网页项目规范 创建项目 布局 补充一部分属性 outline border-radius 预告和回顾 后话 CSS基础知识 前言 本系列博客将分享层叠样式表(CSS)有关的知识点。 本期博客主要分享的是网页项目规范,ou…...

网页护眼宝——全方位解析 Chrome Dark Reader 插件

网页护眼宝——全方位解析 Chrome Dark Reader 插件 1. 基本介绍:Chrome 插件的力量与 Dark Reader 的独特之处 随着现代浏览器的功能越来越强大,Chrome 插件为用户提供了极大的定制化能力。从广告屏蔽、性能优化到页面翻译,Chrome 插件几乎…...

C++ 构造函数和析构函数抛出异常的详细说明

1. 构造函数 功能:用于初始化对象的成员变量和分配资源。抛出异常: 当构造函数抛出异常时,构造的对象不会被创建,分配的资源会被释放。这意味着在构造函数抛出异常后,对象的状态是未定义的,调用者需要处理…...

Unity开发绘画板——01.前言

在做这个之前其实是想研究一下在Unity中交互雪的实现,交互雪顾名思义就是可以进行交互的雪,玩家角色从雪上走过时雪被踩凹陷的效果;交互雪的一种实现方案就是将地面看做一个画板,将玩家角色的躯体看做笔刷,将角色经过的…...

Spring定时任务 - @Scheduled注解详解

文章目录 一、Scheduled注解二、参数详解2.1、CRON_DISABLED2.2、cron2.3、zone2.4、fixedDelay / fixedDelayString2.5、fixedRate / fixedRateString2.6、initialDelay / initialDelayString 三、总结3.1、fixedDelay、fixedRate 以下内容基于org.springframework:spring-con…...

超详细超实用!!!AI编程之cursor编写设计模式接口隔离原则实例(七)

云风网 云风笔记 云风知识库 一、设计模式接口隔离原则定义 客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上。要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 接口…...

解决在Nignx下Thinkphp路由不生效问题

Nignx下Tp框架路由不生效 问题的原因在于ThinkPHP通过URL后缀匹配方法,默认没有后缀会尝试访问默认的index方法。 解决方案:在URL末尾添加/后缀或者修改路由配置文件route.php中的规则。 如果还是没解决建议换apache...

『功能项目』QFrameWork框架重构OnGUI【63】

我们打开上一篇62QFrameWork背包框架的项目, 上文将功能实现在一个脚本中 本章要做的事情让脚本实现背包框架思想 首先按照图示创建脚本: 创建脚本:Item.cs namespace QFramework {public class Item{//道具public string Key;public string …...

4款AI生成PPT工具推荐,提升工作效率

在如今的工作环境中,PPT制作是许多技术人员不可避免的任务,尤其是在汇报、展示技术方案、以及项目进展时。随着AI技术的快速发展,使用AI生成PPT成为了提高效率的一种新趋势。本文将介绍几款适合程序员、技术人员的AI生成PPT工具,帮…...

3.postman脚本语言、接口关联(json引用(变量)、脚本用正则表达式)、断言封装、自动化构造接口请求(Postman工具)

一、Postman的脚本语言 1.使用js语言 2.pm变量 pm.sendRequest():发送HTTP请求 二、自动化实现接口关联 1.JSON引用 2.正则表达式(在test下编写如下脚本) //获取响应 console.log(responseBody) //re的方式获取token let token responseBody.match(&quo…...

基于SpringBoot框架的订餐系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 选题的背景 伴随着当今计算机技术的日益发展,各种网络软件以及应用也是层出不穷,日新月异,大家都争先恐后的推出自己的产品来占领这一个广阔的市场。现在网上购物的软件系统种类繁多&#xf…...

基于JAVA+SpringBoot+Vue的医院后台管理系统

基于JAVASpringBootVue的医院后台管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接🍅 哈…...

基于SSM+Vue+MySQL的农家乐预约管理系统

系统展示 用户前台界面 管理员后台界面 农家乐后台界面 系统背景 随着乡村旅游的兴起,农家乐作为一种结合农业体验与休闲度假的新型旅游模式,受到了广大游客的青睐。然而,传统农家乐在预约管理方面存在效率低下、信息不透明等问题&#xff0c…...

全新热门电商API接口,实现闲鱼商品详细搜索功能

近年来,电商行业蓬勃发展,API(Application Programming Interface)接口已经成为电商平台的重要组成部分。API接口不仅可以实现平台间的数据交互,还可以为开发者提供丰富的功能,满足用户多样化的需求。在这个…...

求10 个整数中最大值

我们需要10个整数之中求出10个整数之中的最大值所以我们先要将10个整数先放置到一个容器之中,我们初期就使用数组的形式存放10个数组即设置数组arr[10],我们要将10个数组之中的数字输出出来,我们这里使用的是遍历循环输出数组。我们这里是使用…...

数据结构不再难懂:带你轻松搞定排序算法

数据结构入门学习(全是干货)——排序算法(下) 1 快速排序 1.1 算法概述 快速排序采用分而治之的策略,与归并排序相似。其核心在于选择一个主元(pivot)作为分割点。 分而治之 主元(pivot)>…...

YOLOv8 OBB win10+ visual 2022移植部署

前言 想做一个目标旋转角度检测的工程,但是网上多少python的,或者linux的。在win10 visual 2022移植部署,记录一下。 参考 这篇文章没有C win10 环境下的部署教程,我相对于是对此做了补充。 1、下载工程 https://github.com/sh…...

E+H超声波物位仪FMU42-ATB2A22A

EH超声波物位仪FMU42-ATB2A22A是一款由德国EH(恩德斯豪斯)公司生产的超声波物位计,具有高精度、非接触式测量等特点,广泛应用于液体、浆料和粗料的物位测量。以下是对该产品的详细介绍: 一、产品特点 高精度测量&…...

Linux风险应对策略:保障系统安全的有效措施

Linux作为一种开源操作系统,因其稳定性和安全性被广泛应用于服务器、嵌入式系统和个人电脑等多个领域。然而,随着网络攻击手段的不断演变,Linux系统也面临着各种安全风险。本文将探讨Linux系统的主要风险及其应对策略,帮助用户提升…...

芝法酱学习笔记(0.3)——SpringBoot下使用mybatis做增删改查和报表

零、前言 书接上回,我们搭建了windows下的开发环境,并给出了一个hello world级别的多模块SpringBoot项目。 毕竟java后端开发,离不开数据库的操作,为方便后面内容的讲解,这里再做一期铺垫,core模块下新增一…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...