Linux应用实战之网络服务器(三)CSS介绍

0、前言

准备做一个Linux网络服务器应用实战,通过网页和运行在Linux下的服务器程序通信,这是第三篇,介绍一下CSS,优化上一篇文章中制作的HTML页面。

1、CSS常用语法

CSS(层叠样式表)是用于描述HTML或XML(包括如SVG、MathML等衍生技术)文档样式的标记语言。CSS语法规则相对简单且直观,它主要由选择器和声明块组成。

1.1 基本语法

CSS规则由两部分组成:选择器和一条或多条声明。

选择器 {  属性: 值;  属性: 值;  /* 更多属性 */  
}
  • 选择器:用于选择你想要样式化的HTML元素。它可以是一个元素名、类名、ID名、伪类等。
  • 声明块:在大括号 {} 中包含一条或多条声明。
  • 声明:由属性和值组成,中间用冒号 : 分隔,并以分号 ; 结束。每个声明代表一个样式属性的设置。

1.2 选择器

  • 元素选择器:基于HTML元素名来选择元素,如 pdivspan 等。
  • 类选择器:使用 . 加上类名来选择元素,如 .myClass
  • ID选择器:使用 # 加上ID名来选择元素,如 #myID。ID选择器具有更高的优先级。
  • 属性选择器:基于元素的属性和属性值来选择元素,如 [type="text"]
  • 伪类选择器:用于选择HTML元素的特定状态,如 :hover 用于鼠标悬停时的状态,:active 用于元素被激活时的状态等。
  • 组合选择器:可以使用逗号 , 来组合多个选择器,使它们共享相同的样式规则。

1.3 属性和值

1.3.1 文本
  • font-family: 设置字体类型,如ArialTimes New RomanMicrosoft YaHei等。
  • font-size: 设置字体大小,可以使用绝对单位(如pxpt)或相对单位(如em%)。
  • color: 设置文本颜色,使用颜色名、十六进制、RGB、RGBA等。
  • text-align: 设置文本水平对齐方式,可选值有leftcenterrightjustify
  • text-decoration: 设置文本装饰,可选值有noneunderlineoverlineline-throughblink
1.3.2 背景
  • background-color: 设置背景颜色。
  • background-image: 设置背景图片。
  • background-repeat: 设置背景图片是否及如何重复,可选值有repeatrepeat-xrepeat-yno-repeat
  • background-position: 设置背景图片的位置。
1.3.3 盒模型
  • width 和 height: 设置元素的宽度和高度。
  • padding: 设置元素的内边距。
  • border: 设置元素的边框,可以包括border-widthborder-colorborder-style(如soliddotteddashed等)。
  • margin: 设置元素的外边距。
1.3.4 定位
  • position: 设置元素的定位方式,可选值有staticrelativeabsolutefixedsticky
  • toprightbottomleft: 与position属性一起使用,定义元素的位置。
  • z-index: 设置元素的堆叠顺序。
1.3.5 显示
  • display: 控制元素的显示方式,如blockinlineinline-blocknone等。
  • visibility: 设置元素的可见性,可选值有visiblehidden
  • opacity: 设置元素的透明度,取值范围从0(完全透明)到1(完全不透明)。

1.4 其他重要概念

  • 继承与层叠,CSS中的样式可以通过继承从父元素传递到子元素,但并非所有属性都可以继承。层叠则是当多个样式规则应用于同一元素时,决定哪个规则优先的机制。层叠顺序由选择器的优先级和样式来源(如内联样式、ID选择器、类选择器、元素选择器等)决定。
  • 盒模型,CSS盒模型是页面布局的基础,每个HTML元素都可以看作是由内容、内边距(padding)、边框(border)和外边距(margin)组成的矩形盒子。这些属性可以用来控制元素的尺寸和与其他元素之间的空间关系。
  • 导入与外部样式表,CSS可以写在HTML文件的<style>标签内,也可以保存在单独的.css文件中,并通过HTML文件的<link>标签引入。此外,还可以使用@import规则在一个样式表中导入另一个样式表。

2、优化界面

使用css优化上一篇文章Linux应用实战之网络服务器(二)HTML介绍中设计的HTML界面。

2.1 登录界面优化

优化后代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Login</title><style>body {font-family: Arial, sans-serif;background-color: #f0f0f0;text-align: center;padding: 20px;}h2 {color: #333;}form {max-width: 300px;margin: 0 auto;background-color: #fff;padding: 20px;border-radius: 5px;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);}label {display: block;text-align: left;margin-bottom: 5px;}input {width: calc(100% - 10px);padding: 8px;margin-bottom: 10px;border: 1px solid #ccc;border-radius: 3px;display: inline-block;}button {padding: 8px 20px;background-color: #007bff;color: white;border: none;border-radius: 3px;cursor: pointer;}button:hover {background-color: #0056b3;}</style>
</head>
<body><h2>Login</h2><form><label for="username">Username:</label><input type="text" id="username" name="username"><label for="password">Password:</label><input type="password" id="password" name="password"><br><br><button type="submit">Login</button></form>
</body>
</html>

显示效果:

2.2 查询界面优化

优化后代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Query Interface</title>
<style>body {display: flex;flex-direction: column;justify-content: flex-start;align-items: center;height: 100vh;margin: 0;}h2 {text-align: center;}div {display: flex;justify-content: center;align-items: center;flex-wrap: wrap;}button {padding: 10px 20px;margin: 5px;background-color: #007bff;color: white;border: none;border-radius: 5px;cursor: pointer;}button:hover {background-color: #0056b3;}textarea {margin-top: 10px;padding: 10px;border: 1px solid #ccc;border-radius: 5px;}
</style>
</head>
<body>
<h2>Query Interface</h2>
<div><button onclick="queryData('query1')">Query 1</button><button onclick="queryData('query2')">Query 2</button><button onclick="queryData('query3')">Query 3</button><button onclick="queryData('query4')">Query 4</button>
</div>
<textarea id="result" rows="10" cols="50" readonly></textarea>
</body>
</html>

显示效果:

3、总结

本文阐述了CSS的基本语法,对上一篇文章设计的界面进行优化。

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

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

相关文章

FPGA 图像边缘检测(Canny算子)

1 顶层代码 timescale 1ns / 1ps //边缘检测二阶微分算子&#xff1a;canny算子module image_canny_edge_detect (input clk,input reset, //复位高电平有效input [10:0] img_width,input [ 9:0] img_height,input [ 7:0] low_threshold,input [ 7:0] high_threshold,input va…

【案例·增】一条insert语句批量插入多条记录

问题描述&#xff1a; 往MySQL中的数据库表中批量插入多条记录&#xff0c;可以使用 SQL 中的 ((), ()…)来处理 案例&#xff1a; INSERT INTO items(name,city,price,number,picture) VALUES(耐克运动鞋,广州,500,1000,003.jpg),(耐克运动鞋2,广州2,500,1000,002.jpg);规则…

基于java+springboot+vue实现的宠物领养救助平台(文末源码+Lw+ppt)23-363

摘 要 宠物领养救助平台采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的java进行编写&#xff0c;使用了springboot框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对用户、…

Spring Boot 多模块项目跨包自动注入的方法

文章目录 引言I Spring Boot 多模块项目跨包自动注入的方法1.1 问题描述1.2 原因1.3 解决方案1.4 模块结构II Starter项目2.1 多模块项目跨包自动注入2.2 接管生命周期,成为starter2.3 预备知识:自动装配III 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全…

【Redis】redis主从复制

概述 常见的Redis高可用的方案包括持久化、主从复制&#xff08;及读写分离&#xff09;、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题&#xff08;从内存到硬盘的备份&#xff09;&#xff1b;而主从复制则侧重解决数据的多机热备。此外&#xff0c;主从复制…

提高三维模型数据的立体裁剪技术

提高三维模型数据的立体裁剪技术 立体裁剪是三维模型处理中的重要步骤&#xff0c;可以用于去除模型中不需要的部分&#xff0c;提高模型的质量和准确性。本文将介绍几种常见的立体裁剪技术&#xff0c;包括边界裁剪、体素裁剪和几何裁剪&#xff0c;并分析它们的优缺点和适用场…

新朋友+1!拓数派 PieCloudDB Database 与 OpenCloudOS、TencentOS Server 完成产品兼容互认证

近日&#xff0c;拓数派旗下产品云原生虚拟数仓 PieCloudDB Database 与开源操作系统 OpenCloudOS 以及腾讯云旗下操作系统 TencentOS Server 完成了产品兼容性互认证。测试期间&#xff0c;双方产品运行稳定&#xff0c;兼容性良好&#xff0c;功能正常。 随着“数据要素x”三…

交互式RDP服务启停及修改端口的bat脚本

1、执行效果 2、脚本代码 echo off chcp 65001REM 检查是否有管理员权限 net session >nul 2>&1 if %errorlevel% neq 0 (echo 请右键【以管理员身份运行】此脚本。pauseexit /b )REM 提示是否开启或关闭RDP服务 set /p enable_disable是否开启或关闭RDP远程桌面服务…

生成的短链接/二维码,如何更改跳转网址?C1N 短网址一键解决

在当今的营销推广领域&#xff0c;短链接的运用已不可或缺。它能直接将网页、产品或服务呈现在潜在客户或用户面前&#xff0c;提升知名度与曝光率。 然而&#xff0c;使用短链接时也会遭遇一些问题&#xff0c;最常见的便是推广链接已发出&#xff0c;却发现有误或需修改&…

第15章 冲突解决与问题识别

< 回到目录 第15章 冲突解决与问题识别 冲突解决 人际冲突很常见&#xff0c;无外乎以下两种原因&#xff1a; 没有充分分享自己的感受和想法&#xff1b;感觉自己没有被认真聆听。 有一种简单方法来解决这个问题。Stephen Covey在他的经典著作《高效人士的7个习惯&…

自动化更新包文件--shell脚本

自动化更新包文件--shell脚本 背景手动更包自动化更包 背景 作为一名实施工程师&#xff0c;当然也协助做些测试的工作&#xff0c;当产品功能开发后&#xff0c;研发会将本次迭代涉及的前后端包文件提供过来。有时会因为一些原因研发没法现场开发&#xff0c;那就需要我们配合…

Python学习之-lambda表达式

前言&#xff1a; Python 的 lambda 表达式是一种匿名函数的快捷方式&#xff0c;它允许你在代码中快速定义单行的小函数。lambda 表达式的语法非常简洁&#xff1a;它仅使用 lambda 关键字 followed by one or more arguments, a colon :, and the expression to evaluate an…

CC工具箱使用指南:【经度转3度带和6度带】

一、简介 在规划工作中&#xff0c;经常会遇到不清楚规划用地所在的3度带或6度带带号的情况。 其实只要知道所在地的经度即可计算出带号&#xff0c;具体计算方法百度可知&#xff1a; 三度带和六度带1.高斯投影6度带&#xff1a;自0子午线起每隔经差6自西向东分带&#xff…

基于easyx库的C/C++游戏编程实例-贪吃蛇|

贪吃蛇|双人贪吃蛇游戏设计 1.设计物体结构 蛇结构&#xff1a; struct SnakePlayer {int size;int r;int dir;int speed;POINT pos[SNAKE_SIZE];bool live;int score; }snake;食物结构&#xff1a; struct Food {int x;int y;int r;bool flag;DWORD color; }food,foodtest…

ios问题记录

背景&#xff1a; 本地xocode 上传文件到 testflight&#xff0c;显示是上传成功了的。 但是网页中 testflight 中并没有上传的版本。查看邮件 发现下面的 Please correct the following issues and upload a new binary to App Store Connect. ITMS-90683: Missing purpos…

神策数据参与制定首份 SDK 网络安全国家标准

国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告&#xff08;2023 年第 13 号&#xff09;&#xff0c;全国信息安全标准化技术委员会归口的 3 项国家标准正式发布。其中&#xff0c;首份 SDK 国家标准《信息安全技术 移动互联网应用程序&#xff0…

2014年认证杯SPSSPRO杯数学建模B题(第二阶段)位图的处理算法全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 B题 位图的处理算法 原题再现&#xff1a; 图形&#xff08;或图像&#xff09;在计算机里主要有两种存储和表示方法。矢量图是使用点、直线或多边形等基于数学方程的几何对象来描述图形&#xff0c;位图则使用像素来描述图像。一般来说&#…

某某消消乐增加步数漏洞分析

一、漏洞简介 1&#xff09; 漏洞所属游戏名及基本介绍&#xff1a;某某消消乐&#xff0c;三消游戏&#xff0c;类似爱消除。 2&#xff09; 漏洞对应游戏版本及平台&#xff1a;某某消消乐Android 1.22.22。 3&#xff09; 漏洞功能&#xff1a;增加游戏步数。 4&#xf…

MR混合现实情景实训教学系统在军事演练课堂中的教学应用

MR混合现实情景实训教学系统在军事演练课堂中的教学应用具有以下优势&#xff1a; 1. 增强现实感&#xff1a;通过MR技术&#xff0c;学生可以在军事演练中更真实地感受到战场环境&#xff0c;增强他们的实战经验。 2. 提高训练效率&#xff1a;通过MR技术&#xff0c;可以模…

【MATLAB源码-第22期】基于matlab的手动实现的(未调用内置函数)CRC循环码编码译码仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 循环码是线性分组码的一种&#xff0c;所以它具有线性分组码的一般特性&#xff0c;此外还具有循环性。循环码的编码和解码设备都不太复杂&#xff0c;且检(纠)错能力强。它不但可以检测随机的错误&#xff0c;还可以检错突发…