首页 > 其他分享 >CSS学习8[重点]

CSS学习8[重点]

时间:2024-09-04 19:55:20浏览次数:6  
标签:solid 重点 100px 边框 学习 width height border CSS

盒子模型

一、网页布局

  1. CSS三大模块:盒子,浮动,定位。
  2. 盒子模型是把html中每个元素看成一个矩形的盒子。
  3. 每个矩形由元素内容、边距、边框组成。

二、盒子边框(box-border)

  1. 常用盒子边框设置

    border: border-width || border-style || boder-color

    设置border-style

    • none 无
    • solid 单实线,最为常用
    • dashed 虚线
    • dotted 点线
    • double 双实线
    <html>
    	<head>
    		<style>
    			div {
    				width: 100px;
    				height: 200px;
    				border-width: 1px; /*边框宽度*/
    				border-color: pink; /*边框颜色*/
    				border-style: solid; /*边框样式*/
    				border-style: dashed;
    				border-style: dotted;
    			}
    		</style>
    	</head>
    	<body>
    	<div>我是一个盒子</div>
    	</body>
    </html>
    
    <html>
    	<head>
    		<style>
    			.user {
    				border-width: 1px; /*边框宽度*/
    				border-color: pink; /*边框颜色*/
    				border-style: solid; /*边框样式*/
    			}
    			.nc {
    				border-top-width: 1px; /*上边框宽度*/
    				border-top-color: pink; /*上边框颜色*/
    				border-top-style: solid; /*上边框样式*/
    				border-bottom-width: 1px; /*下边框宽度*/
    				border-bottom-color: pink; /*下边框颜色*/
    				border-bottom-style: solid; /*下边框样式*/
    			}
    			.email {
    				border-top: 1px solid red;
    				border-bottom: 1px solid green;
    			}
    			.ph {
    				border: 1px solid skyblue;
    			}
    		</style>
    	</head>
    	<body>
    	用户名:<input type="text" class="user"/><br/><br/>
    	昵 称:<input type="text" class="nc"/><br/><br/>
    	邮 箱:<input type="text" class="email"/><br/><br/>
    	手 机:<input type="text" class="ph"/><br/><br/>
    	</body>
    </html>
    
  2. 表格边框美化

    table {border-collapse: collapse} 合并相邻边框

    <html>
    	<head>
    		<style>
    			table {
    				width: 100px;
    				height: 200px;
    				border: 1px solid pink;
    				border-collapse: collapse;
    			}
    			td {
    				border: 1px solid pink;
    			}
    		</style>
    	</head>
    	<body>
    		<table>
    			<tr>
    				<td>123</td>
    				<td>345</td>
    				<td>234</td>
    			</tr>
    		</table>
    	</body>
    </html>
    
  3. 圆角边框

    <html>
    	<head>
    		<style>
    			div {
    				width: 200px;
    				height: 200px;
    				border: 1px solid pink;
    			}
    			div:first-child {
    				border-radius: 10px; /*设置角度,越大越圆*/
    			}
    			div:nth-child(2) {
    				border-radius: 100px; /*取值取高宽的一半会变成圆⚪*/
    				border-radius: 50%;
    			}
    			div:nth-child(3) {
    				border-radius: 10px 40px; 
    				/*左上和右下是10px,令两个是40*/
    			}
    			div:nth-child(4) {
    				border-radius: 10px 40px 80px; 
    				/*左上是10px,右上左下是40px 右下80px*/
    			}
    			div:nth-child(5) {
    				border-radius: 10px 40px 80px 100px; 
    				/*左上是10px,右上是40px 右下80px 左下是100px*/
    			}
    			div:nth-child(6) {
    				border-radius: 50%; 
    				height: 100px;
    			}
    		</style>
    	</head>
    	<body>
    		<div>10px</div>
    		<div>50%或者100px</div>
    		<div>10px 40px</div>
    		<div>10px 40px 80px</div>
    		<div>10px 40px 80px 100px</div>
    		<div>胶囊</div>
    	</body>
    </html>
    

三、内边距(padding)

  1. 内边距:内容距离边框的距离

    padding: 值;

     - 一个值,上下左右
     - 两个值,上下是1,左右是2;
     - 三个值,上是1,左右是2,下是3;
     - 四个值,上右下左,顺时针
    
    <html>
    	<head>
    		<style>
    			div {
    				width: 200px;
    				height: 200px;
    				padding-left: 10px;
    				padding: 10px; /*只写一个值表示上下左右都是10px*/
    			}
    		</style>
    	</head>
    	<body>
    		<div>内容</div>
    	</body>
    </html>
    
  2. 新浪导航栏

    <html>
    	<head>
    		<style>
    			nav {
    				height: 41px;
    				background-color: #FCFCFC;
    				border-top: 3px solid orange;
    				border-dottom: 1px solid #EDEEF0;
    			}
    			nav a {
    				font-size: 14px;
    				color: #4C4C4C;
    				text-decoration: none;
    				/*width: 100px;*/
    				height: 41px;
    				background-color: pink;
    				/*链接是行内元素没有大小,需要转换*/
    				padding: 0 15px;
    				display: inline-block;
    			}
    			nav a:hover {
    				ibackground-color: #eee;
    			}
    		</style>
    	</head>
    	<body>
    	<nav>
    		<a href="#">首页</a>
    		<a href="#">手机新浪网</a>
    		<a href="#">网页导航</a>
    	</nav>
    	</body>
    </html>
    

四、外边距(margin)

  1. 外边距:盒子外边距离
  2. 外边距可以实现盒子居中对齐,给左右设置auto。
    • 必须是块级元素
    • 盒子必须指定宽度(width)

    .header { width: 900px; margin: 0 auto;}

    <html>
    	<head>
    		<style>
    			div {
    				width: 100px;
    				height: 100px;
    				margin: 30px auto;
    				padding: 4px;
    			}
    		</style>
    	</head>
    	<body>
    	<div></div>
    	</body>
    </html>
    
  3. 居中和图片
    <html>
    	<head>
    		<style>
    			div {
    				width: 100px;
    				height: 100px;
    				margin: 30px auto;/*盒子*/
    				text-align: center;/*文字*/
    			}
    			section img {
    				width: 200px;
    				height: 100px;
    				margin-top: 30px;
    				margin-left: 50px; /*插入图片也是盒子*/
    			}
    			aside {
    				width: 200px;
    				height: 100px;
    				border: 1px solid purple;
    				background: #fff url(#.png) 0 0 no-repeat;
    				background-size: 200px 100px;
    			}
    		</style>
    	</head>
    	<body>
    	1. 文字水平居中 和盒子水平居中
    	<div>文字</div>
    	2. 插入图片和背景图片大小
    	<section>
    		<img src="#.png" height="689" width="123" alt="">
    	</section>
    	<aside>
    	 123
    	</aside>
    	3. 一般情况下,背景图片适合做小图标
    	</body>
    </html>
    
  4. 清除元素内外边距
    <html>
    	<head>
    		<style>
    			* {
    				padding: 0; /*清除内边距*/
    				margin: 0; /*清除外边距*/
    			}
    		</style>
    	</head>
    	<body>
    	</body>
    </html>
    
    注意:行内元素只有左右内外边距,没有上下内外边距。尽量不给行内元素指定上下的内外边距。

五、外边距合并

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。

  1. 相邻块元素垂直外边距的合并
    当上下相邻的两个块元素相遇,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是两个之和,而是二者之中的较大者。
    尽量避开即可。

    <html>
    	<head>
    		<style>
    			div:first-child {
    				width: 300px;
    				height: 300px;
    				background-color: pink;
    				margin-bottom: 50px;
    			}
    			div:last-child {
    				width: 300px;
    				height: 300px;
    				background-color: pink;
    				margin-bottom: 30px;
    			}
    		</style>
    	</head>
    	<div></div> <!--上下两个盒子的距离为50px-->
    	<div></div>
    	<body>
    	</body>
    </html>
    
  2. 嵌套块元素垂直外边距的合并
    对于嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为二者中较大的值,即使父元素的上外边距为0,也会发生合并。
    解决方案:

    • 为父元素定义1像素的上边框或者上内边距。
    • 为父元素添加overflow: hidden。
    <html>
    	<head>
    		<style>
    			.father {
    				width: 300px;
    				height: 300px;
    				background-color: pink;
    				/*border: 1px solid red; /*解决外边距合并问题*/
    				/*padding: 1px;*/
    				/*overflow: hidden; BFC*/
    			}
    			.son {
    				width: 300px;
    				height: 300px;
    				background-color: pink;
    				margin-top: 30px; /*只有这一行时,两个盒子一起距离30px,两个盒子top重叠*/
    			}
    		</style>
    	</head>
    	<div class="father"> 
    		<div class="son"></div>
    	</div>
    	<body>
    	</body>
    </html>
    

标签:solid,重点,100px,边框,学习,width,height,border,CSS
From: https://blog.csdn.net/qq_54641174/article/details/141752737

相关文章

  • CSS学习12
    清除浮动前言一、清除浮动的本质二、清除浮动的方法前言为什么要清除浮动?浮动不占用原文档流的位置,可能会对后面的元素排版产生影响。因此需要在该元素中清除浮动,清除浮动后造成的影响。一、清除浮动的本质为了解决父级元素<html> <head> <style> *{ pa......
  • 【为项目做准备】Linux网络编程重点知识(项目通用知识)
    Linux网络编程的简单梳理,不够再来更新~socket()setsockopt()bind()listen()accept()socket()socket()函数,用来创建套字节头文件:#include<sys/socket.h>函数:intsocket(intdomain,inttype,intprotocol)相应参数说明:-domain:指定套接字的地址族,常见的AF_INET......
  • Unity网格编程学习(一)
    目录1.创建平面2.使用UV贴图3.使用法线贴图1.创建平面Unity有MeshFilter和MeshRenderer组件,通过编辑MeshFilter的Mesh属性进行绘制,并使用MeshRenderer将图形渲染到屏幕上。//在C#脚本顶部使用这段语句检测绑定该脚本的对象是否存在MeshFilter和MeshRenderer组件,如果没有......
  • css常见布局
    两列布局1、flex2、float3、position:absolute三列布局1、flex2、float(圣杯布局,双飞翼布局)3、position:absolute圣杯布局1、注意html结构是main->left->right把重要的内容放在前面,有利于seo2、父级padding3、三个元素都是float<divclass="container"> <div......
  • C语言学习笔记 Day16(文件管理--下)
    Day16 内容梳理:C语言学习笔记Day14(文件管理--上)-CSDN博客C语言学习笔记Day15(文件管理--中)-CSDN博客目录Chapter10 文件操作10.5文件状态10.6文件的随机读写fseek()、rewind()(1)fseek():移动光标并开始读写(2)rewind():将光标重置回文件开头10.7文件的删除remove(......
  • 项目管理重点摘要【软考(软件设计师)】
    文章目录前言一、进度管理1.1进度管理的关键步骤1.2工具和方法1.3甘特图1.4关键路径分析法二、风险管理三、成本管理四、沟通管理前言一、进度管理1.1进度管理的关键步骤制定项目或生产计划:管理者需要根据项目或生产的目标、范围、资源等因素,制定出详细的项目或......
  • c++学习7、函数探幽
    #include<iostream>#include<string>usingnamespacestd;structcrdit{ stringname; intage; stringaddress;};structjob{ charname[40]; doublesalary; intfloor;};inlinedoublesquare(doublex){returnx*x;}//定义了一个内联函数square—......
  • Kubernetes学习指南:保姆级实操手册04——主机系统初始化
    四、Kubernetes学习指南:保姆级实操手册04——主机系统初始化前言:本章节主要内容是对主机操作系统的初始化操作,如发另外标注,所有的节点操作步骤一致,可以使用软件批量初始化。1.检查系统端口确保以下端口未被占用:运行后未有任务显示,表示端口未被占用。[root@k8s-master01~]#ss-......
  • Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡
    五、Kubernetes学习指南:保姆级实操手册05——配置集群HA负载均衡简介:Keepalived提供VRRP实现,并允许您配置Linux机器使负载均衡,预防单点故障。HAProxy提供可靠、高性能的负载均衡,能与Keepalived完美配合1、配置Keepalive官方文档提供了两种运行方式(此案例使用选项1):选项1:在......
  • AI大模型入门指南:从基础到实践的系统学习路径
    如何系统的入门大模型?本篇文章默认面向对大模型领域感兴趣的程序员。看一下围绕大模型的应用场景和人才需求:**Prompt工程:**基于提示词对大模型的使用,会问问题就行。**基于大模型的应用:在大模型生态之上做业务层产品。AI主播、AINPC、AI小助手。。。之前是会调API就行。......