jsp(17)(div+css)

1.盒子模型:

  • element : 元素。
  • padding : 内边距,也有资料将其翻译为填充。
  • border : 边框。
  • margin : 外边距,也有资料将其翻译为空白或空白边。

2.padding,内边距属性

简写例子:属性接受任何长度单位,可以是像素、英寸、毫米或 em。

h1 {
padding: 10px 0.25em 2ex 20%;
}

上下两个是等同的效果:百分数值是相对于其父元素的 width(即父元素内容的宽度) 计算的,这一点与外边距一样。所以,如果父元素的 width 改变,它们也会改变。

h1 {
padding-top: 10px;
padding-right: 0.25em;
padding-bottom: 2ex;
padding-left: 20%; 
}

2.1.pading设置内边距4个值是顺时针上,右,下,左

padding:10px 5px 15px 20px;//内边距是10px 内边距是5px 内边距是15px 左内边距是20px

2.2pading设置内边距3个值是顺时针上,右|左,下

padding:10px 5px 15px;//内边距是10px 内边距和内边距是5px 内边距是 15px

2.3.pading设置内边距2个值是顺时针上|下,右|左

padding:10px 5px;//内边距和内边距是10px 内边距和内边距是5px

2.4.pading设置内边距1个值是四边距相同

padding:10px;//所有4个内边距都是10px

 

3.border,边框,同样可以用不同属性表示不同范围,用值的个数来简写

3.1.border设置 4 个边框的宽度,样式,颜色:

p { border:5px solid red; }//border-width border-style border-color

border-width可以使用的值:

例子:同样值的个数(1-4)代表不同的边框(上右下左)

border-width:thin medium thick 10px;

border-style可以使用的值:

例子:同样值的个数(1-4)代表不同的边框(上右下左)

border-style:dotted solid double dashed;

 border-color可以使用的值:

例子:同样值的个数(1-4)代表不同的边框(上右下左)

border-color:red green blue pink;

3.2.border-bottom下边框(单个边框)的边距,样式,样式

border-bottom:thick dotted #ff0000;

3.3.分别设置下边框的颜色,样式,边距

border-bottom-color:#ff0000;
border-bottom-style:dotted;
border-bottom-width:15px;

 

4.margin,外边距,

这个属性接受任何长度单位、百分数值甚至负值。
属性接受任何长度单位,可以是像素、英寸、毫米或 em。
margin 的默认值是 0,所以如果没有为 margin 声明一个值,就不会出现外边距。

浏览器一般默认body是有外边距的一般会先将body外边距设置成0.

外边框设置属性:

下面的例子,同样值的个数(1-4)代表不同外边距(上右下左):

h1 {margin : 10px 0px 15px 5px;}

百分数是相对于父元素的 width 计算的。上面这个例子为 p 元素设置的外边距是其父元素的 width 的 10%。

margin可能的值:

 

5.两个元素外边距会自动合并

5.1.上下元素,合并时会使用较大的外边距:

5.2.两个元素包含,并且父元素没有内边距和边框,那么子元素上下外边距和父元素的上下外边距进行合并:

5.3.空元素如果没有内边距和边框,那么上下外边距也会合并。

5.4.合并后的元素,将作为一个元素的外边距,和别的元素可以继续发生外边距合并:

(这样应该用来填充数据发生收缩的效果)

 

6.position/float关于定位:

6.1.首先一些概念;块元素,行元素

块元素:至少占一行,两个块元素之间会自动换行显示(<div>/<h1>/<p>行元素:行元素之间不会自动换行,会在同一行显示(<a>/<strong>/<span>)

但是行级元素可以变成块级元素通过display属性:

通过将 display 属性设置为 block/inline,可以让行/块元素(比如 <a> /<div>)表现得像块/行级元素一样。还可以通过把 display 设置为 none,让元素不显示,不占用文档中的空间

display常用值:

6.2.position属性可以的取值:

static

元素框正常生成。块级元素生成一个矩形框,行元素则会创建一个或多个行,置于其父元素中。

relative

元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。

absolute

元素框从文档流完全删除,并相对于其包含块(父元素)定位。

fixed:

元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗(浏览器)本身。

 6.2.1.相对定位,值为relative,相对原来所在的位置定位,原来位置还被占用

#box_relative {
  position: relative;
  left: 30px;//也可以是百分比,父元素的百分比
  top: 20px;//也可以是百分比,父元素的百分比
}

相对定位元素仍然占据原来的空间。移动元素会导致它覆盖其它框。

 6.2.2.绝对定位,值为absolute,相对浏览器/父元素的位置定位。

#box_relative {
  position: absolute;
  left: 30px;
  top: 20px;
}

绝对定位的元素的位置相对于浏览器但如果父元素有相对定位标志(position:relative),那么绝对定位是相对父元素

图中相对父元素写错了

(1。相对浏览器:(s5是浏览器默认显示,body距离浏览是有外边距的)

#s{position:absolute;left:0;}
<div id="s5">eeeeeeeeee</div>
<div id="f">
<div id="s">sssss</div>
</div>

(2.相对父元素定位:父元素必有relative相对标记。

#f{position:relative;}
#s{position:absolute;left:0px;}
<div id="s5">eeeeeeeeee</div>
<div id="f">
<div id="s">sssss</div>
</div>

一个典型案例做图片上签名:

 

 

6.3.浮动float,尽可能向某边上靠,并将其他元素挤开(呈现环绕效果)。

img{float:right; }

可以设置的值:

6.3.1.例子1:默认div是块级元素自动换行,如果都设置成float可以都显示在同一行上

6.3.2.例子2:部分元素不设置浮动,会被浮动的元素影响:

 

s4,s5都受到影响,浮动元素可以看成是后加入的元素将已有元素挤开。

6.4.清除浮动clear:清除别的元素浮动对其造成的影响(一般是直接换行)

img
  {
  float:left;
  clear:both;
  }

可以使用的值:

例子:解决6.3.2中浮动影响:清除某一边浮动影响,之后的元素也会被清除

效果:

7. overflow,属性是否增加滚动条:

div{
  width:150px;
  height:150px;
  overflow:scroll;
  }

属性值的可以取值:

 

8.text-align 属性规定元素中的文本的水平对齐方式。

h1 {text-align:center}
h2 {text-align:left}
h3 {text-align:right}

常用取值:

如果在将父元素设置文本居中,那么其中的子元素都将当作文本做居中显示。

9.text-decoration,文本修饰:

h1 {text-decoration:overline}
h2 {text-decoration:line-through}
h3 {text-decoration:underline}
h4 {text-decoration:blink}

常用取值:

 

利用displsy显示/隐藏,下拉效果:

点击隐藏效果:

js:

<script type="text/javascript">
function ff(){
var e=document.getElementById("hi");
var v=e.style.display;
e.style.display=v=="none"?"block":"none";
}
</script>

html:

<div id="cli">
<a href="#" onclick="javascript:ff()"> 隐藏下面 </a>
</div>
<div id="hi">
<p>aaaa</p>
<p>aaaa</p>
<p>aaaa</p>
<p>aaaa</p>
</div>

 

posted @ 2017-02-15 13:40  假程序猿  阅读(1171)  评论(0)    收藏  举报