java基础笔记(11)

css

样式的设置主要有选择器+声明{};声明里又分为属性和值;

注释代码:/*注释语句*/

内联式:写在元素开始的标签里;例:<p style = "color:red;font-size:12px"></p>;

嵌入式:写在<style type="text/css"></style>标签之间;一般写在<head></head>之间;例:

 

外部式:写在一个css文件中,通过<link>标签连接到html文件内;<link href="xxx.css" rel="stylesheet" type="text/css" />;这个链接一般写在<head>标签内;rel="stylesheet" type="text/css"这个是固定的格式;

优先级:内联>嵌入>外部(如果外部的链接早于嵌入的位置,那就会外部优先,即就近原则,且这里的顺序是在其相同的权值的情况下)

类选择器:已英文点开头,名字任意起,在元素标签中通过class="类名"进行调用;

ID选择器:和类选择器一样的原理,只不过将英文点换成#符号,调用的时候将属性class改成属性id;

类和ID选择器的区别:

1、在一个html中,id选择器只能调用一次,而类可以多次;

2、在一个元素中可以调用多个类选择器,用空格隔开,如<p class=类名1 类名2>;而一个元素内只能调用一个id选择器;

 

子选择器:用于选择指定标签元素的第一代子元素;如:.food>li{border:1px solid red;};在元素标签里设置好class = “food”,在这个标签下的第一个子标签为<li>标签的内容样式会被修改定义;

后代选择器:.food li{border:1px solid red;};与子选择器不同的是大于号>改成了空格,且其范围不通,子选择器只包括第一代<li>标签,而后代选择器的包含所有的<li>标签;

通用选择器:*{xxx ;xxx;};涉及的范围最大,任意的标签元素都会根据通用选择器的声明进行设置;

伪类选择符:可以给html还不存在的标签状态进行设置样式(如鼠标滑过标签时标签状态);例:a:hover{color:red;}(使鼠标滑过标签时标签内容变红色);其中:hover是可以放到任何标签中,但是由于兼容性比较不好,所以常用的还是a:hover组合;

分组选择器:通过逗号对两个标签隔开,后加生命,这样多个标签可以拥有同一个样式;例:h1,span{color:red;};

权限:标签的权限值为1、类选择器为10、ID选择符为100;注意:继承也有权限值,只不过很小很小;

层叠覆盖:指如果权限相同,后面的样式会覆盖前面的样式;

最高权限:!important,写在分号前;例:p{color:red!important;};

 

 

字体设置:font-family:"宋体";所设置的必需是浏览器有安装的字体;

字号、颜色:font-size、color;

粗体:font-weight:bold;

斜体:font-style:italic;

下划线:text-decoration:underline;

删除线:text-decoration:line-through;

缩进:text-indent:2em;2em指的是文字的2倍大小;

行间距(行高):line-height:2em

字间距:字母间距:letter-spacing:50px;单词间距:word-spacing:50px;

对齐:text-align:center/left/right;居中、向左或者向右对齐

 

 

 

居中:

行内居中:text-align:center

定宽块状元素:需先固定好width宽度,根据左右margin得值设为“auto”,使得其居中对齐;

不定宽块状元素:

1、加入table标签:利用table标签得长度自适应性,因此可以看做是一个定宽度块元素;再根据左右margin得值设为“auto”,使得其居中对齐;

2、通过改变块级元素得display为inline类型,然后通过text-align:center来进行居中;

3、通过给父元素设置float,然后给父元素设置 position:relative和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。

 

 

 

垂直居中:

1、如果是单行文本,且父元素的行高:leight已经是固定的,那么只要将其的行高line-height也设置一样的高度,即可实现垂直居中,缺点是:当文字内容的长度大于块的宽时,就有内容脱离了块;

2、如果是多行文本,css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用;td 标签默认情况下就默认设置了 vertical-align 为 middle,因此可以使用<tb>标签作为多行文本的父标签,这样多行文本就会实现垂直居中,如:

<body>
<table><tbody><tr><td>
<div>
    <p>看我是否可以居中。</p>
</div>
</td></tr></tbody></table>
</body>

这样,只要在css代码中改变td盒范围就可以显示出效果了:td{position:absolute;    left:50%;    top:50%;}(文本内容将会处于浏览器中间)

3、可以通过display:table-cell改变元素属性为表格属性,这样该元素就拥有vertical-align为middle的属性;从而达到垂直居中的效果,缺点是兼容性较差,不兼容IE6、7;不建议使用;

 

 

 

在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。

常用的块状元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

 

常用的内联元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

特点:

1、和其他元素都在一行上;

2、元素的高度、宽度及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

 

常用的内联块状元素有:

<img>、<input>

特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

 

切换:display:block(块级元素)/inline(内联元素)/inline-block(内联块状元素)

 

 

隐性改变display的类型:

设置以下 2 个句之一:

 1.position:absolute;

 2. float : left 或 float:right;

只要出现了以上两句之一,元素类型就会自动变为display:inline-block;

 

 

 

盒模型:边框

div{border:2px solid red;}分别对应:border-width(边框宽度)、border-style(边框类型)、border-color(边框颜色);

border可根据可根据border-top、border-right、border-left、border-bottom四个不同的边进行不同的设置;

div{padding:20px 20px 20px 20px}:元素内容和边框之间的距离,称为“填充”,同样地,填充也分4个方向;

div{margin:20px 20px 20px 20px}:元素和其他元素之间的距离,称为“边界”,同样地,填充也分4个方向;

 一个元素实际宽度(盒子的宽度)=左边界(margin-left)+左边框(border-left)+左填充(padding-left)+内容宽度(width)+右填充+右边框+右边界。

 

 

css布局模型:

在网页中,元素有三种布局模型:
1、流动模型(Flow):块垂直、内联水平
2、浮动模型 (Float):让块水平:float:left
3、层模型(Layer)

层模型有三种形式:

1、绝对定位(position: absolute):相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口

2、相对定位(position: relative):相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动(表示不在块范围内的内容不会改变)

3、固定定位(position: fixed):相对移动的坐标是视图(屏幕内的网页窗口)本身,由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化。

 

绝对和相对定位的组合使用;绝对定位可以作为相对定位的子元素,这样绝对定位采用的参照物就不是浏览器,而是相对定位的的这个父元素;

简写:

方向:4个相同可写1;上下相等左右对称可写上下和左右共为2;左右相等可写上右下为3;如不相等按顺时针写;

颜色:相等可对半;颜色值 是根据红、绿、蓝取0~255的整数比例调节而成,用16进制表示,如:p{color:#00ffff;}

字体:font:12px/1.5em "宋体",sans-serif;(常见,注:字号和行高要加入“/”斜杠);

长度值:px、em、百分比:都是相对单位;px像素是指显示器上的一个小点;

 

posted @ 2019-12-03 18:05  xiao兆  阅读(155)  评论(0编辑  收藏  举报