【前端基础--4】

news2024/9/29 9:33:55

定位属性 position

可以将元素定位到你想要放到位置,使用方位值来进行移动(top,left,right,bottom)。

1.相对定位

position: relative;    top: 20px;  left: 20px;

以自身为定点进行移动,不会脱离文档流。

不会影响元素本身的性质;块级元素支持auto自适应居中。

2.绝对定位

position: absolute;   top: 0px;  left: 0px;

会脱离文档流,原本位置不会继续占有。

支持自定义高宽,元素高宽默认为0,暂不支持auto自适应居中。

找不到最近的定位父级,默认参考浏览器 (body) 来移动。

子绝父相

子级是绝对定位,父级是相对定位,子级参考父级来进行移动。

方位属性

left和top优先级高于right和bottom

若一个元素只拥有left和right属性,以left为准

3.固定定位 

position: fixed;

以浏览器窗口为参考(滚动屏幕时固定不动)

元素高宽默认,margin: auto;失效

若在相同位置,看谁的优先级高,谁覆盖。

z-index:1   定位为1级(改变级数来进行强制覆盖


子元素在父级里面居中:

第一种:

position: absolute;

top: 0px;

left: 0px;

right: 0px;

bottom: 0px;

margin: auto;


第二种:

position: absolute;

top: 50%;

left: 50%;

/* 负自身宽度的一半 */

margin-left: -50px;

/* 负自身高度的一半 */

margin-top: -50px;

width: 100px;

height: 100px;

background-cololr: pink;


表格(浅谈)

<!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>
        table{
            border: 1px solid palevioletred;
            background-color: blanchedalmond;
            border-collapse: collapse;
        }
        td,th,tr{
            border: 1px solid palevioletred;
            text-align: center;
        }
    </style>
</head>
<body>
    <!-- table: 定义表格标签 -->
    <table>
        <!-- caption: 表格标题 -->
        <caption>调查表</caption>
        <!-- tr: 表格里面的一行 -->
        <tr>
            <!-- th: 表头(自带加粗 居中) -->
            <th>姓名</th>
            <th>年龄</th>
            <th>爱好</th>
        </tr>
        <tr>
            <!-- td: 一行里面的单元格 -->
            <td>一花</td>
            <td>20</td>
            <td>演戏</td>
        </tr>
        <tr>
            <td>二乃</td>
            <td>20</td>
            <td>打游戏</td>
        </tr>
        <tr>
            <td>三玖</td>
            <td>20</td>
            <td>读历史</td>
        </tr>
        <tr>
            <td>四叶</td>
            <td>20</td>
            <td>运动</td>
        </tr>
        <tr>
            <td>五月</td>
            <td>20</td>
            <td>读书</td>
        </tr>
    </table>
    <!-- 规范:tr里面的标签只能是td或th
        一行里面单元格的高度取决于一行中最大的那个
        一行里面单元格的宽度是按照内容长度来分配的 -->
</body>
</html>

d5910141d43a486ebfd38536dc02d180.png

选一个将<td>20</td>改成:<td rowspan='3'>20</td> ,同时要将更改的这一行的下两段中的<td>20</td>删掉可以向下合并年龄。

也可以将某一段改为:

        <tr>
            <td colspan='3'>三玖</td>
        </tr>

可以合并那一行的三列:

4c00d3c0c7474257a492e209465393f5.png


表单样式

表单标签form

action: 表单的提交地址

method:提交格式  

name:表单的名称

target:提交完这个表单后,新页面在哪里打开

<!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>
        #form{
            width: 400px;
            height: 400px;
            background-color: antiquewhite;
            margin: auto;
        }
        input{
            width: 99px;
            height: 20px;
            background-color: darkgrey;
        }
    </style>
</head>
<body>
    <!-- form: 表单标签
        action: 表单的提交地址
        method: 提交格式  https请求格式:post/get等
            get请求:从指定的资源请求数据,用于获取数据,一般用于搜索排序和筛选之类的操作。
            post请求:向指定的资源提交要被处理的数据,用于将数据发送服务器,一般用于修改和写入数据。
        name: 表单的名称
        target: 提交这个表单后新页面在哪里打开 -->
    <form action="" method="" name="login" target="" id="form">
        <!-- 单行文本输入框 -->
        账号:<input type="text">
        <br>
        <!-- 密码输入框(输入的数据会隐藏为小黑点) -->
        密码:<input type="password">
    </form>
</body>
</html>

input输入控件

通过type属性展示不同的输入效果

  1. text  --> 单行文本输入框
  2. password  -> 密码输入框
  3. submit  --> 提交按钮(具有刷新功能)
  4. radio  --> 单选框
  5. checkbox  --> 多选框
  6. reset  --> 重置按钮
  7. button  --> 空按钮(可以通过value来给这个按钮取名字)
  8. file  --> 文件上传按钮
  9. number  --> 数字输入框(e约等于2.71828..也可以输入)
  10. email  --> 邮件输入框

placeholder属性  文本提示,告诉用户输入什么

name属性  控件名称

账号:<input type="text" placeholder="请输入账号" name="username">

value属性     改变控件里面的值

radio

        <form action="">
            <input type="text">

            <input type="radio" name="sex">男

            <input type="radio" name="sex">
            <!-- label:一般用来放文字,规定input控件标题描述 -->
            <label for="">女</label>
            <!-- 单选的话name属性只能是一个 -->
        </form>

checked属性     默认被选中

<input type="radio" name="sex" checked>

多行文本输入框

<textarea name="" id="" cols="30" rows="10"></textarea>

下拉列表标签

        <select name="" id="">
            <!-- 下拉列表项 -->
            <option value="">星期一</option>
            <option value="">星期二</option>
            <option value="">星期三</option>
            <option value="">星期四</option>
            <option value="">星期五</option>
        </select>

高级选择器

属性选择器

选择标签来添加样式

选择a标签中带有target属性的a标签添加样式

a[target]{color: pink;}

title为11的添加样式

a[title='11']{color: red;}

给a标签的herf属性中以h开头的添加样式

a[herf ^='h']{color: blue;}

以k为结尾的添加样式

a[target $='k']{color: yellow;}

给包含字符中含有.com的添加样式

a[href *='.com']{color: skyblue;}

伪类选择器

可以改变元素状态

<!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>
        .box{
            width: 200px;
            height: 300px;
            background-color: antiquewhite;
        }
        /* 鼠标悬停之后 改变背景颜色和宽(通用) */
        .box:hover{
            width: 300px;
            background-color: indianred;
        }
        /* 点击时改变背景颜色(通用) */
        .box:active{
            background-color: cadetblue;
        }
        /* 没有被访问的a标签 */
        a:link{
            color: darkseagreen;
        }
        /* 被访问过的a标签 */
        a:visited{
            color:bisque;
        }
        /* 点击input获取焦点 */
        .btn:focus{
            border: 1px solid pink;
        }
        .text{
            /* 消失 */
            display:none;
            width: 150px;
            height: 50px;
            background-color: rgb(190, 227, 250);
        }
        /* input和p标签是同级关系 */
        .btn:focus~.text{
            /* 显示 */
            display: block;
        }
        /* 点击勾选状态(只能单选或多选使用) */
        .rad:checked{
            width: 20px;
            height: 20px;
        }
        .pic{
            display: none;
        }
        .rad:checked~.pic{
            display: block;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <a href="https://www.bilibili.com/">这里是a标签</a>
    <a href="https://www.bilibili.com/" target="_blank" rel="zxcvbnm">这里是a标签2</a>
    <br>
    <input type="text" class="btn">
    <p class="text">点击后就看到我啦</p>
    <input type="radio" class="rad">
    <input type="checkbox" name="" id="" class="rad">
    <img src="./11.jpg" alt="" width="100px" class="pic">
</body>
</html>

结构选择器

子元素选择器

通过父级给子元素添加样式

.list>li:nth-child(1){color: pink}   

给类为list的列表父级的第一个子级的字体设置为粉色。

可以简写为:.list>li:nth-child(1){color: pink}

全选:.list>li:nth-child(n+1){color: pink}

给第奇数个子级(1,3,5..)设置 (odd/2n-1

.list>li:nth-child(odd){color: pink}

给第偶数个子级(2,4,6..)设置(even/2n

.list>li:nth-child(2n){color: pink}

选择最后一个子元素添加样式

.list>li:last-child{color: blue}

注意:要满足父子关系。比如,ul的众多li标签之间有一个span标签,这个子元素选择器就起不了作用了。 

同类别选择器

选择类为box的div标签下方的p标签

.box>p:nth-child(3){color: pink;}

如果p标签中间夹了span标签,这样写无视其他元素影响

.box>p:nth-of-type(3){color: red;}

选择最后一个p标签

p:last-of-type{color: blue;}

伪元素选择器

是一个行内元素,不支持设定高宽

        /* 伪元素创建,在元素前进行插入 */

        .box::before{

            /* 伪元素必备 开启伪元素的一个钥匙 */

            content: '你好!';

            float: left;

            width: 50px;

            height: 50px;

            background-color: antiquewhite;

        }

        /* 在元素内容后插入 */

        .box::after{

            /* 伪元素内容 */

            content: '耶!';

            color: cadetblue;

        }

        /* 父元素可以利用伪元素来清除浮动塌陷 */

        .wrap::after{

            content: '';

            display: block;

            clear: both;

        }


 阿里图标的使用:

1.进入阿里图标官网 https://www.iconfont.cn/

2.注册,登录

3.可以选择需要用到的图标,加入购物车

4.找到购物车,点击下载即可

5.解压文件,可以找到demo_index页面三种方式添加图标

第一种方式:

style标签中:

@font-face{font-family: 'iconfont';

        src: url('./阿里图标/iconfont.ttf') format('truetype');}

.iconfont{

        font-family: "iconfont" !important;

        font-size: 16px;

        font-style: normal;}

body标签中:

<span class="iconfont">&#xe60d;(图标号)</span>


第二种方式:

引入外部格式使用阿里css样式

<link rel="stylesheet" href="./阿里图标/iconfont.css">

style中:

.iconfont{font-size: 30px;

        color: red;}

body中:

<span class="iconfont"></span>


第三种方式(支持有颜色的图标):

引入js样式

<script src="./阿里图标/iconfont.js"></script>

style中:

.icon{width: 1em;

        height:1em;

        vertical-align: -0.15em;

        fill: currentColor;

        overflow: hidden;}

body中:

<svg class="icon" aria-hidden="true">

        <use xlink:href="#icon-xxx"></use>

        </svg>


flex布局(弹性盒模型)

传统布局:浮动  定位  行内块等

flex布局:方法简单,能自动分配父级里面子元素的对齐方式。可以适应不同屏幕的布局。

        .wrap{
            /* 开启flex布局 */
            display: flex;
            /* 规定子元素在x轴居中对齐 */
            justify-content: center;
            /* 规定子元素在y轴居中对齐 */
            align-items: center;
            width: 200px;
            height: 200px;
            background-color: antiquewhite;
        }

父级盒子开启flex(display: flex;) 后

子元素默认横向排列,假如总宽度大于父级盒子,不会换行排列,会等比例缩放。

行内元素在父级盒子里面支持写高宽,没写会默认分配。


flex布局属性

1.display: flex    给父级开启flex布局

2.flex-direction    控制子元素排列方式

控制子元素排列方式,默认从左至右。

flex-direction: row;

从右至左排列

flex-direction: row-reverse;

垂直方向 主轴向下排列

flex-direction: column;

主轴向上

flex-direction: column-reverse;

3.flex-wrap    控制子元素是否换行显示

默认不换行显示

flex-wrap: nowrap;

超出父级宽度就换行

flex-wrap: wrap;

主轴方向和换行显示 复合写法

flex-flow: row-reverse wrap;

4.justify-content    控制子元素在主轴的对齐方式(x轴)

默认子元素在起点左对齐

justify-content: flex-start;

右对齐(主轴终点对齐)

justify-content: flex-end;

在主轴居中对齐

justify-content: center;

两端对齐,中间间隔均分

justify-content: space-between;

所有子元素间隔相同且相等

justify-content: space-around;

所有间隔平均分配

justify-content: space-evenly;

 5.align-items     控制子元素在侧轴的对齐方式(y轴)

侧轴默认值(若没写高度,则高度与父级相同)

align-items: stretch;

y轴顶部对齐(起点对齐)

align-items: flex-start;

y轴底部对齐(终点对齐)

align-items: flex-end

y轴方向垂直居中对齐

align-items: center;

与文本基线对齐

align-items: baseline;

6. align-content     控制行与行之间的对齐

行与行之间在起点对齐,上下没有间隔

align-content: flex-start;

行与行之间在底部对齐

align-content: flex-end;

行与行之间居中对齐

align-content: center;

行与行之间两端对齐

align-content: space-between;

行与行之间间隔平均分配

align-content: space-around;

所有行之间间隔相等

align-content: space-evenly;

子元素属性

order:  子元素展示顺序,值越小越先展示,默认是0。

flex-grow:     在主轴还有剩余空间时,子元素分配剩下的部分比例,如1,2..默认是0。

flex-shrink:     在主轴空间不足时,子元素缩小的比例,默认是1(均分缩小)。

align-self: flex-start/end/  center            (顶部对齐、底部对齐、居中对齐)

 

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

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

相关文章

Kali如何启动SSH服务并实现无公网ip环境远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

谷歌公布一个可以让 AI 进行自我判断输出内容正确性的模型训练框架 ASPIRE

谷歌开发了一款名为 ASPIRE 的训练框架&#xff0c;旨在增强人工智能&#xff08;AI&#xff09;模型的选择性预测能力。这款框架为模型引入了 “可信度” 机制&#xff0c;即模型会输出一系列答案&#xff0c;并为每个答案赋予一个正确概率评分。通过这种方式&#xff0c;ASPI…

鲜花商城,Java项目、前端vue

系统架构 后台&#xff1a; SpringBoot Mybatis-plus Mybatis Hutool工具包 lombok插件 前台&#xff1a;Vue Vue Router ELementUI Axios 系统简介 功能&#xff1a;首页推荐&#xff08;默认根据用户买过的商品进行推荐&#xff0c;如果没买过则根据商品销量推荐&…

Sybase PowerDesigner15安装配置

1,软件介绍 ​ Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控…

RocketMQ源码阅读-十-事务消息

RocketMQ源码阅读-十-事务消息 交互流程事务消息发送Producer发送事务消息Broker处理结束事务请求Broker 生成 ConsumeQueue 事务消息回查Broker发起回查Producer 接收回查 总结 交互流程 事务消息交互流程图如下&#xff1a;事务消息发送步骤如下&#xff1a; 生产者将半事务…

redis-持久化-1

Redis 提供了2个不同形式的持久化方式。 RDB&#xff08;Redis DataBase&#xff09; AOF&#xff08;Append Of File&#xff09; 一、Redis持久化之RDB 1.什么是RDB 在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c; 也就是行话讲的Snapshot快照&#xff0c…

爬虫是什么 怎么预防

爬虫是一种自动化程序&#xff0c;用于从网页或网站中提取数据。它们通过模拟人类用户的行为&#xff0c;发送HTTP请求并解析响应&#xff0c;以获取所需的信息。 爬虫可以用于各种合法用途&#xff0c;如搜索引擎索引、数据采集和监测等。然而&#xff0c;有些爬虫可能是恶意的…

HarmonyOS4.0系统性深入开发26方舟开发框架(ArkUI)概述

方舟开发框架&#xff08;ArkUI&#xff09;概述 方舟开发框架&#xff08;简称ArkUI&#xff09;为HarmonyOS应用的UI开发提供了完整的基础设施&#xff0c;包括简洁的UI语法、丰富的UI功能&#xff08;组件、布局、动画以及交互事件&#xff09;&#xff0c;以及实时界面预览…

低代码是软件开发的未来吗?

一、前言 低代码开发是近年来在网络开发领域备受关注的一个趋势。低代码开发是指使用最少的编程代码来开发应用程序或业务逻辑&#xff0c;这使得即使是没有IT或编程经验的初学者也能快速创建所需的功能。 虽然低代码开发还没有威胁到传统开发者的角色&#xff0c;但不可否认的…

【嵌入式学习】C++QT-Day2-C++基础

笔记 见我的博客&#xff1a;https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度…

Nginx日志检测分析工具 - WGCLOUD

WGCLOUD可以对Nginx的日志文件进行全面分析&#xff0c;包括IP、sql注入攻击、搜索引擎蜘蛛爬取记录、HTTP响应状态码、访问量最高的IP统计、扫描攻击统计等 效果如下图

前端学习:HTTP协议、请求响应、分层解耦

HTTP协议 HTTP-概述 HTTP&#xff1a;Hyper Text Transfer Protocol(超文本传输协议)&#xff0c;规定了浏览器与服务器之间数据传输的规则。如果想知道http协议的数据传输格式有哪些&#xff0c;可以打开浏览器&#xff0c;点击 F12 打开开发者工具&#xff0c;点击Network 来…

国民技术N32G430C8开发笔记一-新建IAR工程

一、创建IAR工程 1、新建工程&#xff0c;保存到project文件夹。 2、添加SDK到工程。 根据原厂SDK的文件结构在IAR新建相应分组&#xff0c;把各个文件夹的文件加载进去&#xff0c;其中startup文件选择IAR平台的startup_n32g430_EWARM.s。 3、添加头文件路径&#xff0…

springboot124中药实验管理系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的中药实验管理系统设计与实现 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章…

Java 枚举和注解

一、枚举类 把具体的对象一个一个例举出来的类就称为枚举类 枚举对应英文(enumeration, 简写 enum)枚举是一组常量的集合。可以这里理解&#xff1a;枚举属于一种特殊的类&#xff0c;里面只包含一组有限的特定的对象。 1.实现方式1——自定义类实现枚举 public class Enume…

HarmonyOS 讨论一下 TextInput的inputFilter正则表达式解决方案

我们 TextInput组件中有这样一个属性 inputFilter 按官方文档的描述 它有两个行参 第一个是字符串类型的 就是 正则表达式 你要怎么去匹配内容 然后 第二个是一个函数 它可以接到一个行参 如果错误时 第二个参数的方法才会执行 行参字符串类型输出被过滤的无效内容 我们可以这…

力扣hot100 两数相加 链表 思维

Problem: 2. 两数相加 Code ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.…

【代码随想录】刷题笔记Day53

前言 不用开组会的我是多么阳光开朗&#xff0c;这周就要离开杭州回家啦&#xff0c;多刷题刷题 115. 不同的子序列 - 力扣&#xff08;LeetCode&#xff09; dp[i][j] 以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]递推公式 dp[i][j] dp[i - 1][j - 1] dp[i…

前端动画特效分享(附效果图及在线演示)

分享7款有趣也实用的前端动画特效 其中有CSS动画、canvas动画、js小游戏等等 下方效果图可能不是特别的生动 那么你可以点击在线预览进行查看相应的动画特效 同时也是可以下载该资源的 SVG天气图标动画特效 SVG天气图标动画特效 不管是晴天雨天等都很完美的展示出了各自真实的…

Linux——shell程序的简单实现

shell程序的简单实现 本章思维导图&#xff1a; 注&#xff1a;本章思维导图对应的.xmind和.png文件都已同步导入至资源&#xff0c;可免费查阅 在学习完有关进程的知识后&#xff0c;我们就可以开始尝试自己实现一个简单的shell程序了。 注&#xff1a;在编写简单的shell程…