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

news2024/11/24 16:17:57

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.coloradmin.cn/o/1553162.html

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

相关文章

数据库原理与应用(SQL Server)笔记 关系数据库

目录 一、关系数据库的基本概念&#xff08;一&#xff09;关系数据库的定义&#xff08;二&#xff09;基本表、视图&#xff08;三&#xff09;元组、属性、域&#xff08;四&#xff09;候选码、主码、外码 二、关系模型三、关系的完整性&#xff08;一&#xff09;实体完整…

Android Studio控制台输出中文乱码问题

控制台乱码现象 安卓在调试阶段&#xff0c;需要查看app运行时的输出信息、出错提示信息。 乱码&#xff0c;会极大的阻碍开发者前进的信心&#xff0c;不能及时的根据提示信息定位问题&#xff0c;因此我们需要查看没有乱码的打印信息。 解决步骤&#xff1a; step1: 找到st…

阿里通义千问Qwen1.5开源MoE模型

介绍 2024年3月28日&#xff0c;阿里团队推出了Qwen系列的首个MoE模型&#xff0c;Qwen1.5-MoE-A2.7B。它仅拥有27亿个激活参数&#xff0c;但其性能却能与当前最先进的70亿参数模型&#xff0c;如Mistral 7B和Qwen1.5-7B相媲美。相较于包含65亿个Non-Embedding参数的Qwen1.5-…

电脑关机速度很慢怎么解决?

给电脑关机&#xff0c;总是要很久才完全关闭。这是因为计算机运行了太长时间&#xff0c;并且打开的程序太多&#xff0c;则关闭时间超过十秒钟&#xff0c;这是正常的现象。还有就是计算机升级或补丁程序更新也将导致计算机缓慢关闭。此时&#xff0c;建议耐心等待关闭完成。…

SCI论文改写、防查重神器QuillBot如何付费高级版本?

写论文时候的修改软件QuillBot&#xff0c;正常的文献里的句子帖进去&#xff0c;直接给各种倒装和各种同义词替换至少10次&#xff0c;保证查不出来是别人的句子。 QuillBot是一个帮助改写内容的转述工具。 Quillbot让你的内容重组变得简单。 转述是指你用不同的词来表达&a…

深度学习每周学习总结P3(天气识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 数据链接 提取码&#xff1a;o3ix 目录 0. 总结1. 数据导入部分数据导入部分代码详解&#xff1a;a. 数据读取部分a.1 提问&#xff1a;关…

Nginx【概述:网页服务器 并发能力强】【常见命令】【部署实战】【反向代理】

Nginx-概述 介绍下载和安装下载安装重点目录和文件如下 Nginx-命令常用命令1). 查看版本2). 检查配置文件3). 启动4). 停止5). 重新加载 环境变量配置 Nginx-应用配置文件结构部署静态资源介绍测试1). 将静态资源上传到 /usr/local/nginx/html 目录2). 启动nginx3). 访问4). 配…

Linux命令及中间件安装

一.Linux简介 1.Linux操作系统概述 Linux是基于Unix的开源免费的操作系统&#xff0c;由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds&#xff08;林纳斯托瓦兹&#xff09;起初开发的&#xff0c;由于源代码的开放性&#xff0c;现在…

Flask后端框架搭建个人图库

Hello&#xff0c;我是"小恒不会java" 前言 最近发现自己有一些站点图片丢失&#xff0c;原来是用了人家的链接。考虑到使用对象存储容易被刷流量&#xff0c;可以用flask这种轻量级框架快速实现网页登陆操作&#xff0c;行&#xff0c;也就不考虑正式生产环境那些复…

Leetcode146. LRU 缓存

Every day a Leetcode 题目来源&#xff1a;146. LRU 缓存 解法1&#xff1a;哈希表 链表 代码&#xff1a; /** lc appleetcode.cn id146 langcpp** [146] LRU 缓存*/// lc codestart class LRUCache { private:unordered_map<int, list<pair<int, int>>:…

攻防世界-baby_web

题目信息 相关知识 使用bp进行抓包 解题过程 题目界面如下所示: 试图找index界面&#xff1a; 发现又跳转到http://61.147.171.105:51201/1.php页面&#xff0c;因此说明61.147.171.105:51201/index.php是存在的&#xff08;因为笔者试了&#xff0c;不存在的页面会直接报…

fastadmin学习04-一键crud

FastAdmin 默认内置一个 test 表&#xff0c;可根据表字段名、字段类型和字段注释通过一键 CRUD 自动生成。 create table fa_test (id int unsigned auto_increment comment ID primary key,user_id int(10) default 0 null…

【python 数据可视化】 WordCloud词云图

目录 词云简介 准备工作 安装方法一&#xff1a; 安装方法二&#xff1a; 生成词云步骤 数据预处理&#xff1a; 分词&#xff1a; 统计词频出现的次数&#xff1a; 去除词语&#xff1a; 生成词云&#xff1a; 显示词云&#xff1a; 保存词云&#xff1a; 完整代码 词…

逐步学习Go-Select多路复用

概述 这里又有多路复用&#xff0c;但是Go中的这个多路复用不同于网络中的多路复用。在Go里&#xff0c;select用于同时等待多个通信操作&#xff08;即多个channel的发送或接收操作&#xff09;。Go中的channel可以参考我的文章&#xff1a;逐步学习Go-并发通道chan(channel)…

OpenHarmony中的LLDB高性能调试器

概述 LLDB&#xff08;Low Lever Debugger&#xff09;是新一代高性能调试器。详细说明参考 LLDB官方文档 。 当前OpenHarmony中的LLDB工具是在 llvm15.0.4 基础上适配演进出来的工具&#xff0c;是HUAWEI DevEco Studio工具中默认的调试器&#xff0c;支持调试C和C应用。 工…

Codeforces Round 841 (Div. 2) C. Even Subarrays

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…

基于SVM的PLOSAR图像分类

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

|行业洞察·汽车|《2024新能源汽车行业及营销趋势报告-20页》

报告的主要内容解读&#xff1a; 新能源汽车行业概述及品牌分布&#xff1a; 近年来&#xff0c;中国新能源汽车销量增速高&#xff0c;市场占有率快速提升&#xff0c;成为汽车行业的重要增量。新能源汽车消费者趋向年轻化、女性化和高端化&#xff0c;对高科技、新体验有较高…

zedboard+AD9361 运行 open WiFi

先到github上下载img&#xff0c;网页链接如下&#xff1a; https://github.com/open-sdr/openwifi?tabreadme-ov-file 打开网页后下载 openwifi img 用win32 Disk lmager 把文件写入到SD卡中&#xff0c;这一步操作会把SD卡重新清空&#xff0c;注意保存数据。这个软件我会…

铸铁平台精度是怎么保持的——北重企业

铸铁平台的精度主要通过以下几个方面来保持&#xff1a; 材料选择&#xff1a;铸铁平台通常采用高强度、高硬度的铸铁材料&#xff0c;如HT250。这种材料具有优异的机械性能和耐磨性&#xff0c;能够提供稳固的支撑和保持平台的形状稳定。 加工工艺&#xff1a;铸铁平台在制造…