CSS+DIV布局的学习

 1    左右自适应布局
#left {
 background-color: #FFFF33;
         height:250px;
 width:25%;
 border:10px solid #000000;
 float:left;
 margin:10px;
 }
#right
{

height:250px;
width:60%;
border:10px solid #000000;
background-color: #FFFF33;
float:right;
margin:10px;
}
2  float属性用来设置流布局,也就是象水一样自动流动。如果是左边的话 left就会自动和最左边的
一个对象的旁边靠齐
3  position用来设置位置的,有相对relative和 绝对absolute 
4  margin是用来设置对象和外面的对象之间的距离的 也就是对象的边外延
.cent{   
margin-top:100px;
 margin-right:auto;
 margin-bottom:0px;
 margin-left:auto;
}
左右设置为auto则为居中  浏览器在判断的时候会将左右边界设置为相同距离所以会居中
顺序是上右下左
4  CSS的盒模型,对象的真实宽度是由对象的宽度+左右填充+左右边框+左右边界构成。
css注释只能用/**/

6   2列自适应布局
.left
{
float:left;
height:250px;
width:30%;
background-color:#000000;
border:1px  solid:#FFFF33;
position:relative;
}
.right
{
height:250px;
background-color:#CCCC00;
margin-left:32%;
}
多应用与blog系统中,这个好  正好拿来用用

7        2列左边固定 右边宽度自适应
在right中不设置任何右边宽度的值
.left
{
float:left;
height:250px;
width:120px;
background-color:#000000;
border:5px  solid:#FFFF33;
margin:10px;


}
.right
{
border:5px solid:#000000;
background-color:#FF0000;
margin:10px;
height:250px;
}

8    2列固定宽度居中
需要一个嵌套的div
<div id="cent" class="cent">
<div id="left"  class="left">此处显示新 left 标签的内容</div>
<div id="right" class="right">此处显示新 Div 标签的内容</div>
</div>
.cent
{  margin-top:0px;
 margin-right:auto;
 margin-bottom:0px;
 margin-left:auto;
     width:490px;

}
.left
{
float:left;
height:250px;
width:100px;
background-color:#000000;
border:10px solid:#FF0000;

}
.right
{
float:left;
height:250px;
width:350px;
background-color:#FF0000;
border:10px solid:#000000;
}
9    3列固定宽度布局内容自动调整
缺陷: 浏览器缩的太小的话就难看了
.left
{
float:left;
height:250px;
width:200px;
background-color:#000000;
border:10px solid:#FF0000;

}
.cent
{

border:10px solid:#FFFF33;
height:250px;
width:480px;
background-color:#FF0000;
float:left;

}
.right
{
 float:left;
    height:250px;
 width:200px;
 background-color:#FF0000;
   border:10px solid:#000000;

}

10     3列固定列宽度布局  内容也固定了
浏览器怎么变内容都不会变
.left
{
float:left;
height:250px;
width:200px;
background-color:#000000;
border:10px solid:#FF0000;
position:absolute;
left:0px;
top:0px;

}
.cent
{

border:10px solid:#FFFF33;
height:250px;
width:440px;
background-color:#FF0000;
position:absolute;
margin-right:220px;
margin-left:220px;
margin-top:0px;

}
.right
{
 float:left;
 height:250px;
 width:200px;
 background-color:#FF0000;


   border:10px solid:#000000;
 position:absolute;


   left:680px;
top:0px;
 
}
body
{
margin:0px 0px 0px 0px;边界  
padding:0px 0px 0px 0px;填充就是距离内部的多远 把哪个部分填充掉
}
11   顶行三列式布局
.left
{
float:left;
height:250px;
width:200px;
background-color:#000000;
border:10px solid:#FF0000;
position:absolute;
left:0px;
top:120px;

}
.cent
{

border:10px solid:#FFFF33;
height:250px;
width:440px;
background-color:#FF0000;
position:absolute;
margin-right:220px;
margin-left:220px;
margin-top:10px;

}
.right
{
 float:left;
 height:250px;
 width:200px;
 background-color:#FF0000;


   border:10px solid:#000000;
 position:absolute;


   left:680px;
   top:120px;
 
}

.top
{
background-color:#0033CC;
border:10px solid:#000000;
height:100px;
margin-top:0px;
margin-right:0px;
margin-left:0px;
}
12    一个对象的高度是否使用白分比显示,取决于对象的父级对象。
例如<body>
<div class="div1">此处显示新 Div 标签的内容</div>
</body>
.div1 {
height:100%;
background-color:#FF0000;
 }
高度就不能显示出100%
只有用了这个样式表后
body
{
margin:0px 0px 0px 0px;
height:100%;
}才能显示出100%


13  在使用div嵌套的时候,如果外层对象的尺寸大小不允许被改变,就是说宽和高是固定的 这个时候使用填充的话如果左和上都填充20px就相当于把外层对象的宽和高都增加了20px,这时候里面对象就可能不处在中间位置了,改变的办法是把外层对象高和宽都减少20px;还有一种办法是设置内层对象的边界值,不设置外层对象的填充值

14  css导行栏动态菜单
  <div id="globalLink"> <a href="#" id="gl1" class="glink" οnmοuseοver="ehandler

(event,menuitem1);">global link</a></div>
<div id="subglobal1" class="subglobalNav"> <a href="#">subglobal1 link</a> | <a

href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a>

| <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1

link</a> </div>
css如下
.subglobalNav{
 position: absolute;
 top: 84px;
 left: 0px;
 /*width: 100%;*/
 min-width: 640px;
 height: 20px;
 padding: 0px 0px 0px 10px;
 visibility: hidden;
 color: #ffffff;
}
a.glink, a.glink:visited{
   font-size: small;
   color: #000000;
 font-weight: bold;
 margin: 0px;
 padding: 2px 5px 4px 5px;
 border-right: 1px solid #8FB8BC;
}
javascript如下
<script type="text/javascript">
    <!--
      var menuitem1 = new menu(7,1,"hidden");
 var menuitem2 = new menu(7,2,"hidden");
   var menuitem3 = new menu(7,3,"hidden");
   var menuitem4 = new menu(7,4,"hidden");
   var menuitem5 = new menu(7,5,"hidden");
   var menuitem6 = new menu(7,6,"hidden");
   var menuitem7 = new menu(7,7,"hidden");
    // -->
    </script>
<script type="text/javascript">
<!--
var time = 3000;
var numofitems = 7;


function menu(allitems,thisitem,startstate){
  callname= "gl"+thisitem;
  divname="subglobal"+thisitem; 
  this.numberofmenuitems = allitems;
  this.caller = document.getElementById(callname);
  this.thediv = document.getElementById(divname);
  this.thediv.style.visibility = startstate;
}


function ehandler(event,theobj){
  for (var i=1; i<= theobj.numberofmenuitems; i++){
    var shutdiv =eval( "menuitem"+i+".thediv");
    shutdiv.style.visibility="hidden";
  }
  theobj.thediv.style.visibility="visible";
}
    
function closesubnav(event)
{
  if ((event.clientY <48)||(event.clientY > 107)){
clientY 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(客户区)的垂直坐标。用的时候需要修改

这个数值


    for (var i=1; i<= numofitems; i++){
      var shutdiv =eval('menuitem'+i+'.thediv');
      shutdiv.style.visibility='hidden';
    }
  }
}
// -->
应用的时候注意在body里面添加方法closesubnav

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值