HTML CSS基础

第一章
一、样式
1、行间样式,代码不可维护,不推荐
2、内联样式,不可重用,不推荐
3、外联样式,可重用,可维护,推荐     <link rel="stylesheet" href="...css" />
二、边框
1、组成:border: 1px [ solid | dashed |double ] red;
1.1     双实线的宽度用border-width: 4px; 设置
2、方向:border-[ top | bottom | left | right ]
3、组合用法:border-top-[ width | style | color ]
4、边框的形状: 非矩形(倒三角、倒梯形……)
4.1     通过边框实现三角形
.angle{width: 0;height: 0;border: 10px solid #fff;border-top-color: #ccc;/*border: 1px solid red;/*只设置一个方向的边框不可实现*//*border-top: 10px solid black;*/
}
三、背景
1、背景和内容的区别:背景不占用容器宽高,不可选中;容会撑开容器宽高,可被选中;
2、常见背景样式:
2.1     background-color: red;
2.2     background-image: url(../img/1.jpg);     
2.3     background-repeat: [ repeat | no-repeat | repeat-x | repeat-y ] 默认平铺整个容器
2.4     background-position: x y;     
2.4.1     background-position: [ left | right | center ] [ top | bottom | center]
2.4.2     当第二个值没有的时候,默认yY轴居中
2.5     background-attachment:     fixed(背景不随滚动条滚动,固定在浏览器可视区)| scroll(背景随着滚动条的滚动而滚动《要求背景够长》)
2.6     background-size:     width height;     //ie8不支持
2.6.1     background-size: 100px 50%;     
2.6.2     background-size: [ cover(把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。)
| contain (把图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。) ]
3、背景复合样式: 不分属性书写顺序,通常按照 颜色相关、图片相关、位置相关(包含是否滚动)
backgroun: red url(../img/1.jpg) no-repeat center top scroll;
四、文字
1、font-weight: [ normal | bold | bolder ];
2、font-style: italic; 斜体
3、font-size: 16px;
4、font-family: "微软雅黑" | "楷体" | .......
5、line-height 行高,当line-height=height,文字垂直居中     
5.1     多行文字测量行高的方式:
5.1.1     确认文字大小,确认两行文字之间的大小
5.1.2     两行文字之间的大小除以2,就是每行文字的上下空隙的大小。当行高为奇数时,上小下大1px的原则
5.1.3     通过辅助线测量行高
6、文字复合样式:需要注意书写顺序    
6.1     font: bold italic 26px/50px "楷体";     //26px/50px表示font-size/line-height
五、文本
1、color: red; 
2、text-align: [ center | left | right ];
3、 text-indent: 2em;     (通常用em作为缩进字符单位)
4、text-decoration: [ none | underline ];
5、letter-space:10px;     字母间距(不区分中英文)
6、word-spacing: 10px;     单词间距(以空格为解析单位)
7、white-space: [ normal | nowrap ];     强制不换行nowrap
8、测量文字大小时,从上到下的方式(文字是方的,宽高一致,但是宽中有一部分是空格《为了让文字与文字之间不会粘在一起》,所以文字大小以高为准)
8、空格大小:字体格式为宋体时,空格大小是当前文字大小的一半; 字体格式不一样,空格大小不一样!
 
六、盒模型
1、padding:
1.1     设置padding之后会撑大容器内容,padding不包含在width里面
1.2    方向:顺时针 top right bottom left     padding: 10px 20px 30px 40px;
1.3     padding-bottom 无效问题: 注意html文档流默认是从左往右,从上往下的。现在你的文字高度不够,达不到距底端10px的位置,所以只有上内边距起作用,下内边距没表现出其作用。   又比如当设置float:left,那么margin-left直接起作用,假如内部元素的宽度不够,那么margin-right也可能不会表现出作用。要margin-right起作用,就float:right,这时margin-left又不一定表现出作用了。   就像一个房间里的人,虽然规定了其同天花板的距离必须小于1米,但很可能这个规定没有起作用,就是这个道理。
2、margin:外边距
2.1     相邻盒模型,在相邻间隙中,都有margin的时候,虽然 各有各的margin,但是最终 显示是取大原则,选择大的margin作为两盒字的边距
2.2     margin问题
2.2.1     margin-top传递问题:父子级包含的时候,子级的margin-top会传递给父级,解决办法: 给父级加上border
2.2.2     margin叠压问题,见2.1
2.2.3     margin-bottom 无效问题,有时候需要设置某块级元素在该父类的底部显示,但是此时设置margin-bottom:0; 却无效。--》
2.2.3.1      理解错了这个属性的含义,它指的是你所设置的元素的下外边距,但不代表它在父元素的底部,也不代表它的子元素都会在它的底部显示。 margin-bottom是指该 元素与其后的兄弟节点之间的距离。
2.2.3.2         绝对定位然后设置bottom:0才有效。
2.2.3.3         如果目标元素下方没有其他同辈元素,为什么margin-bottom:0不代表它在父元素的底部?--》
不代表,举个例子:你有两个盒子要自上而下放置,如果给第一个盒子设置了margin-bottom:10px,那么第二个盒子会距离第一个盒子10px,如果设置为0,那就会紧挨着第一个(当然第二个的margin-top也是设为0时),margin-bottom是设置同级元素间的间隔,并不是设置它在父元素中的位置。
3、盒子的大小:( border padding ) * 2 width     ( margin 不算 , 这里前提是左右对称 )
4、让元素在父级的底部显示:
法1.      使用bottom(以及top、left和right)属性,但这要求该节点的position属性是absolute(绝对定位),且其父节点的position属性为relative(相对定位),则该节点即可相对其父节点定位。  
第二章
一、a标签
1、超链接
2、伪类     设置顺序: L V H A,防止冲突
2.1     :link 未访问过的链接的初始颜色
2.2     :visited 访问过后的颜色
2.3     :hover 鼠标移入(悬停)
2.4     :active 鼠标按下时的颜色
有两个div一个是#a,一个是#b,能通过#a:hover来改变#b的样式吗?
1、如果你#b元素是#a元素的子元素,可以直接通过 #a #b {...}
2、#a与#b是亲兄弟关系,有相同的父节点,且#b跟#a紧临,可以通过 #a   #b{..}来控制#b里面的元素样式;
注:加号( )为:相邻同胞选择器。如果需要选择 紧接在另一个元素后的元素, 而且二者有相同的父元素,可以使用相邻兄弟选择器
二、span标签:行内区分样式时使用。
三、常用标签
1、header:头部信息,注意合适的时候用合适的标签,全部用div--》用header等语义化标签代替
2、nav:导航
3、footer:底部信息
4、section:版块,用于划分页面上不同版块,或者文章不同章节。
5、article:页面中一套结构完整且独立的内容部分,例如论坛中某个帖子(包括楼主和所有评论),较少用。
6、aside:侧边栏、广告等侧边信息
7、time:用来表现时间或日期
8、h1~h6标题标签,最好一个页面只有一个h1标签,注意: H1标签涉及到SEO问题,类似于title
    1、H1标签最好一个页面只用一次,不要一直用。H1可以用但不要泛滥,合理的使用H1标签可以给网站带来好的效果,而使用的不恰当会给网站带来不利影响,严重的甚至会导致K站。2、H1标签中使用的关键词,应该是页面最主要的关键词或品牌词,并且应该是在网页标题中使用的关键词。3、H1标签之间肯定是需要包含关键词的,但是这个关键词也是需要具有可读性和合理性,不要为了强调而把这个关键词加进去,而是因为这个关键词需要被强调才来加H1标签,注意先后。是先有关键词,然后给关键词加H1标签。4.如果把H1标签加在LOGO图片,图片ALT信息上要加上网站名或品牌词,这样才能更加突出首页的关键词,不然给一个图片加H1,你觉得有什么效果?5.H1标签尽量靠近在html中的body标签,越近越好,以便让搜索引擎最快的找到主题。从上面的例子就可以发现H1标签都在body代码的最前面,为什么?因为搜索引擎的抓取就是从上而下来的,这样可以让H1标签强调的关键词最快被发现。6.内容页H1标签一般都是用在内容的大标题,最好也是只用一次,不过有很多内容页也用了2次,一次用在LOGO或出现在网页最前面的主关键词,一次用在内容的大标题上。如果最前面没有主要的关键词,建议最好还是只用在大标题上一次。7.当不想将H1标签用在LOGO上并且网页主要的关键词在后面的时候,如果还是想加H1标签并且想H1标签的关键词靠前,可以利用DIV CSS布局来调整主关键词的位置,这样也不会影响页面效果。8.不要总想着加H1标签,很多大网站也是没有用H1标签,像百度、新浪、爱站网等压根就没用H1标签,所以只要真真切切的为用户提供信息就可以了,至于是不是一定要用H1标签就不一定了。

 

9、p:段落
10、strong:强调,加粗
11、em:强调,斜体
12、ul li:列表(无序);ol li:列表(有序);dl dt dd:自定义列表(dt-自定义列表title;dd-自定义列表项)
13、mark:标记(黄色背景标记)
14、img:图片标签
四、CSS标签样式初始化(css reset)
1、书写原则:
1.1     用到什么标签就清除所用标签初始化样式,建议不要直接将所有标签全部加上清除样式代码
1.2     不要将所有标签设置成统一一致的reset,要按需分类设置。
2、浏览器都有默认样式,但凡是浏览器的默认样式, 都不要使用!因为每个浏览器下标签的默认样式可能会出现不一致!
3、需要重置的样式:     
3.1     盒模型相关的样式:border、margin、padding
3.2     标签特有的样式:ul>li  ol>li 
五、常用选择器
1、ID选择器,当前页面具有唯一性     #id
2、类(class)选择器,统一标签设置多个类,用空格分割     .class
3、标签选择器,选择当前页面所有该标签     标签名(div{……})
4、群组选择器,用逗号隔开     p, h1, div{……}
5、包含选择器,用空格表示包含     div a{......}
6、通配符,不建议使用,原因:杀伤力强(影响范围广),性能差     * 
7、css3特有的选择器:
7.1     >     这些是 CSS3特有的选择器,A>B 表示选择A元素的所有子B元素。与A B的区别在于,A B选择所有后代元素,而A> B只选择一代子元素。
六、选择器优先级
1、浏览器F12发现:
1.1     样式被中划线,说明样式 被覆盖;
1.2     样式前面出现感叹号(!),说明样式写错了
2、行间样式(1000)>Id选择器(100)>class类选择器(10)>标签选择器(1)     
第三章
一、块元素和行内元素
1、块元素特征:
1.1     默认独占一行 ,支持所有CSS命令
2、内联元素特征:
2.1     显示同排,内容撑开高度,不支持宽高,不支持上下margin( 左右margin可以),代码换行被解析(代码换行,出现效果被浏览器解析,结果以空格形式出现)
3、块元素和内联元素的转换
3.1     display: [ inline | block | inline-block ];
3.2     display 只是样式修改,不会改变标签本质

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

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

相关文章

2018-04-22接口自动化测试学习心得(1)

根据接口文档写接口测试用例-->添加接口自动化测试项目相关依赖(httpclienttestngpoi-ooxmllog4jmailmysql-connector-java)-->写接口测试方法-->执行测试 -- 接口测试1.一个接口就是一个函数2.我们要保证一个接口能够在url地址栏里面访问到&#xff0c;必须满足一下两…

Java MemoryMapped文件的功能

Java MemoryMapped文件的功能 在JDK 1.4中&#xff0c;将内存映射文件的有趣功能添加到Java中&#xff0c;该功能允许将任何文件映射到OS内存以进行有效读取。 内存映射文件可用于开发IPC类型的解决方案。 本文是使用内存映射文件创建IPC的实验。 有关内存映射文件的一些详细信…

介绍一款好用 mongodb 可视化工具

最近想自己搭建一个个人博客&#xff0c;所以学了下mongodb&#xff0c;mongodb是用命令行输入的&#xff0c;有些人可能不太习惯&#xff0c;我自己找了下mongodb的一些可视化工具&#xff0c;发现了一款adminmongo很好用&#xff0c;这里介绍给你们用一下。 github地址&#…

用CSS3来代替JS实现交互

【CSS3和JS】 对于CSS了解的同学都知道&#xff0c;CSS的实现是最底层的&#xff0c;在实现方式和性能上都不是&#xff0c;JS这种提供接口的脚本可比的&#xff1b;从CSS3的动画和JS动画对比角度来看两者&#xff0c;会更清晰&#xff1b;而且随着前端框架的使用&#xff0c;…

php 如何宏定义,php – 在html中实现宏定义的方法

也许显而易见,但C预处理器可以完成这项工作.index._html#define _em(a) a #define _image(a, b) #define _list(a, b, c) a \\ b \ c \#define _theTile The Bar Title#include "head._html"_list(foo, bar, bean)This is really _em(great)_image(media/cat.jpg, …

python——函数 11、命名空间

三种名称空间1、内置名称空间&#xff1a; python解释器自带的名字,如&#xff1a;print、sum、max 当解释器启动时就会形成这个空间 2、全局名称空间&#xff1a; 执行python程序时就会产生这个空间 在每行顶端写代码 a10 def foo():print(a) foo() View Code3&…

Hadoop如何工作? HDFS案例研究

Apache Hadoop软件库是一个框架&#xff0c;该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。 它旨在从单个服务器扩展到数千台机器&#xff0c;每台机器都提供本地计算和存储。 库本身不用于依靠硬件来提供高可用性&#xff0c;而是被设计用来检测和处…

CS Round#53 E Maxor

题意&#xff1a;给你N个数&#xff0c;你可以从中选出两个数将它们or起来得到M&#xff0c;求M的最大值及得到最大值的方案数。 刚了半个小时得到了一个貌似时O(N log max(Ai)^2)的方法&#xff0c;想了想发现貌似只能做出第一问&#xff0c;但好像改一下就能搞掉第二问&#…

CSS小记录

1.让图文不可复制 -webkit-user-select: none; -ms-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; 2.让图片垂直居中 .Logo{height: 109px;line-height: 109px;} .Logo img{vertical-align: middle;} 3.行内块级元素垂直居中&…

Java如何避免重量级锁,Java 中锁是如何一步步膨胀的(偏向锁、轻量级锁、重量级锁)...

文章目录重量级锁(Mutex Lock)偏向锁(比较 ThreadID)偏向锁获取过程偏向锁的释放轻量级锁(自旋)轻量级锁的加锁过程轻量级锁的释放总结重量级锁(Mutex Lock)Synchronized 是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的 Mute…

使用镜像源安装EASY_INSTALL和PIP教程

使用easy_install和pip可以让python的模块的安装和管理变得非常方便。我一般在新的Linux系统上&#xff0c;先easy_install pip然后就用pip安装其他的模块了。 不过&#xff0c;在国内用官方的pypi源&#xff08;https://pypi.python.org/simple&#xff09;一般比较慢&#xf…

Flexbox布局

Flexbox布局 刚开始接触flex布局的时候&#xff0c;只知道它可以用来使子元素水平垂直居中&#xff0c;代码最为简洁好用。 .container {display: flex;justify-content: center;align-items: center; } 当然不仅仅是居中问题&#xff0c;flexbox能做的事情大多&#xf…

臭名昭著的Java错误和陷阱

在2000年&#xff0c;我上大学&#xff0c;濒临选择一种语言来发展自己的职业。 Java尚未成为主流&#xff0c;但很受人们欢迎。 与静态html页面相比&#xff0c;小应用程序&#xff08;尚未破碎&#xff09;花哨且富有光泽。 Swing不是构建桌面应用程序的不错选择。 J2EE越来越…

php oracle 配置,关于php:为Windows 64位配置Oracle OCI8

我一直在为Windows配置oracle oci8时遇到问题我正在使用Windows 7 64位&#xff0c;xampp v3.2.2&#xff0c;php 5.6.15和oracle g11 Express我尝试了以下步骤&#xff0c;但是在运行phpinfo时找不到oci软件包&#xff1a;我同时下载了Instant Client Package-Basic和Instant …

CSS_常见布局

1.一列布局——常用于网站首页。 html&#xff1a; 1 <div class"top"></div> 2 <div class"main"></div> 3 <div classfoot></div> css&#xff1a; 1 body{2 margin:0;3 padding: 0;4 …

解决android studio引用远程仓库下载慢(JCenter下载慢)

原文&#xff1a;https://blog.csdn.net/linglingchenchen/article/details/62236723 第一种方法 使用开源中国的maven库 阿里云的(速度飞快)&#xff1a;http://maven.aliyun.com/nexus/content/groups/public/ 替换项目根目录下build.gradle中的 repositories {jcenter()} 为…

Java中的工厂方法模式

在我以前关于模板方法模式的文章中 &#xff0c;我展示了如何利用lambda表达式和默认方法 。 在本文中&#xff0c;我将探讨工厂方法模式&#xff0c;并了解如何利用方法引用&#xff0c;这是Java 8中与lambda表达式一起添加的另一项功能。 让我们考虑一个Vehicle接口及其两个…

会员系统用php框架,代码基地会员中心的PHP签到系统结合thinkphp框架

分享代码基地会员中心的PHP签到系统&#xff0c;PHP很漂亮的签到界面。签到后&#xff0c;会有不同颜色区分。附带PHP签到源码带安装说明和详细注释。(详细查看https://www.daimajidi.com/deal/574)JS:function getUrl(strs) {var url "/demo/1563064903/" strs;re…

MVP数据请求recycview展示

M层 public class Mod {public void shuju(final Modlister modlister){ OkHttpClient okHttpClientnew OkHttpClient();final Request requestnew Request.Builder().url("http://v.juhe.cn/weixin/query?key55010ae808217e996bbf414bbdad843c").build(); Call …

impress.js

介绍一下 impress.js是一个非常炫酷的幻灯片展示框架&#xff0c;依靠CSS3技术。 impress.js使用起来非常简单&#xff0c;下面就来简单介绍一下其用法。 Start 首先&#xff0c;当然要引入impress.js。 在div标签设置id为impress&#xff08;不要求一定是div&#xff09;…