- 浏览: 1460569 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
luhouxiang:
写的很不错,学习了
Extjs 模块化动态加载js实践 -
kingkongtown:
如果想改成淘宝后台那样,可以在编辑器批量上传图片呢?
kissy editor 阶段体会 -
317966578:
兄弟我最近也在整jquery和caja 开放一些接口。在git ...
caja 原理 : 前端 -
liuweihug:
Javascript引擎单线程机制及setTimeout执行原 ...
setTimeout ,xhr,event 线程问题 -
辽主临轩:
怎么能让浏览器不进入 文档模式的quirks模式,进入标准的
浏览器模式与文本模式
两列布局的自动宽度
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> <!-- body { font: 100% Verdana, Arial, Helvetica, sans-serif; background: #666666; margin: 0; /* 最好将 body 元素的边距和填充设置为 0 以覆盖不同的浏览器默认值 */ padding: 0; text-align: center; /* 在 IE 5* 浏览器中,这会将容器居中。 文本随后将在 #container 选择器中设置为默认左对齐 */ color: #000000; } .twoColHybLt #container { width: 80%; /* 这将创建一个占据 80% 浏览器宽度的容器 */ background: #FFFFFF; margin: 0 auto; /* 自动边距(与宽度一起)会将页面居中 */ border: 1px solid #000000; text-align: left; /* 这将覆盖 body 元素上的“text-align: center”。 */ } /* sidebar1 提示: 1. 由于我们使用的是相对单位,因此最好不要在侧栏中使用填充。它将会增加符合标准的浏览器的总宽, 并产生未知的实际宽度。 2. 由于 sidebar 值以全方 (em) 为单位,请记住侧栏的宽度将随不同的默认文本大小而变化。 3. 如果为 div 中的元素设置左边距和右边距,则会在 div 边缘和这些元素之间产生空白, 如“.twoColHybLt #sidebar1 p”规则中所示。 */ .twoColHybLt #sidebar1 { float: left; width: 12em; /* 由于此元素是浮动的,因此必须指定宽度 */ background: #EBEBEB; /* 将显示背景色,其宽度等于栏中内容的长度,*/ padding: 15px 0; /* 顶部和底部的填充将在该 div 中产生视觉空间 */ } .twoColHybLt #sidebar1 h3, .twoColHybLt #sidebar1 p { margin-left: 10px; /* 对于将要放在侧栏中的每个元素,都应当设置左边距和右边距 */ margin-right: 10px; } /* mainContent 提示: 1. mainContent 和 sidebar1 之间的空白是由 mainContent div 的左边距创建的。 无论 sidebar1 div 中包含多少内容,都将保留栏空白。如果您希望在 #sidebar1 中的内容结束时, 用 #mainContent div 的文本填充 #sidebar1 空白,则可以删除此左边距。 2. 请记住,如果在 mainContent div 中放置了过宽的元素,则有可能会导致“浮动下降” (即,侧栏下面非浮动的 mainContent 区域下降)。对于混合布局(总宽基于百分比,侧栏基于全方 (em)), 则可能无法计算确切的可用宽度。如果用户的文本大小大于平均值,则侧栏 div 将更宽, 因此,mainContent div 中的空间将更小。您应当注意到这种限制, 当客户端使用 Contribute 添加内容时尤其如此。 3. 在下面的 Internet Explorer 条件注释中,zoom 属性用来赋予 mainContent“hasLayout”。 这可能会有助于避免若干特定于 IE 的错误。 */ .twoColHybLt #mainContent { margin: 0 20px 0 13em; /* 右边距可以用百分比或像素来指定,它会在页面的右下方产生空白。 */ } /* 要重用的各种类 */ .fltrt { /* 此类可用来使页面中的元素向右浮动。浮动元素必须位于页面上要与之相邻的元素之前。 */ float: right; margin-left: 8px; } .fltlft { /* 此类可用来使页面上的元素向左浮动 */ float: left; margin-right: 8px; } .clearfloat { /* 此类应当放在 div 或 break 元素上, 而且该元素应当是完全包含浮动的容器关闭之前的最后一个元素 */ clear:both; height:0; font-size: 1px; line-height: 0px; } --> </style><!--[if IE]> <style type="text/css"> /* 请将所有版本的 IE 的 css 修复放在这个条件注释中 */ .twoColHybLt #sidebar1 { padding-top: 30px; } .twoColHybLt #mainContent { zoom: 1; padding-top: 15px; } /* 上面的专用 zoom 属性为 IE 提供为避免几个错误而可能需要的 hasLayout */ </style> <![endif]--></head> <body class="twoColHybLt"> <div id="container"> <div id="sidebar1"> <h3>sidebar1 内容</h3> <p>此 div 上所显示的背景色刚好与内容等宽。如果您喜欢改用分界线, 而且 #mainContent div 所包含的内容将始终比 #sidebar1 div 中的多, 请在 #mainContent div 的左边缘放置一个边框。 </p> <p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend sollicitudin, molestie id, varius et, nibh. Donec nec libero.</p> <!-- end #sidebar1 --></div> <div id="mainContent"> <h1> 主要内容 </h1> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio. Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. Fusce varius urna id quam. Sed neque mi, varius eget, tincidunt nec, suscipit id, libero. In eget purus. Vestibulum ut nisl. Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend sollicitudin, molestie id, varius et, nibh. Donec nec libero.</p> <h2>H2 级别的标题 </h2> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio.</p> <!-- end #mainContent --></div> <!-- 这个用于清除浮动的元素应当紧跟 #mainContent div 之后,以便强制 #container div 包含所有的子浮动 --><br class="clearfloat" /> <!-- end #container --></div> </body> </html>
DiV 水平居中问题
margin-left:auto;
margin-right:auto;
其实等同于:
margin:0 auto;
于 是可以使用这种方式,但是有人用IE时发现没有居中。这里建议你看看是否遗漏了DTD声明。
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
非常多的人犯过类似的错误!这种方法也可以说屡试不爽,但是在某些情况下还是行不通的。于是有了第二种方法。
margin-left:50%;
left: -width/2;
这里的width不是CSS中的Width,而是你的DIV的宽度例如你的div是768px宽,那么你就应该设置left:-384px。很好,已经有两种方法了,可以说已经能够解决你可能遇到的问题了。
有时候你会发现,这两个还不行。不能兼容一些浏览器。于是发现有了第三种方法,这中方法主要是考虑IE,它是建立在第一种方法的基础之上。它需要设置body。
body {text-align: center;}
这样IE下也居中了,但是它带来一个新的问题,你发现你的页面中所有文字都是居中的,这样很不好看。这个就很容易解决了,只需要在你的DIV定义中加上
text-align: left;
之类调整的设置就行了。
发表评论
-
cubic-bezier 模拟实现
2013-01-05 16:34 14089cubic-bezier 曲线是 css3 动画的一个重要基石 ... -
css reset revisit
2012-07-25 00:32 4239正如 javascript 兼容库的作用, css r ... -
兼容 ie 的 transform
2012-02-23 14:00 6424css 2d transform 是 css3 引入的一个新的 ... -
write html parser
2011-12-01 02:48 2916首先需要声明 html 不能用正则表达式来直接匹配进行内容抽取 ... -
转载:瀑布流布局浅析
2011-09-29 19:02 2845简介 如果你经 ... -
fixed 定位 auto 问题
2010-12-02 11:58 2106当一个元素被 fixed 定位 ... -
css的优先级与继承
2010-11-08 12:30 3710起因: 很早就听 ... -
浏览器渲染
2010-10-12 21:07 0http://snook.ca/archives/html_a ... -
背景图样式回顾
2010-09-30 13:51 1788正式点叫 background-image recap ,最近 ... -
mhtml datauri 与 css expression
2010-09-29 18:17 2396mhtml ,datauri ,css expressio ... -
margin合并整理
2010-06-23 11:25 4196多个段落为了美观,浏览器会将它们的垂直距离变得统一,这是一种很 ... -
编写跨浏览器兼容的 CSS 代码的金科玉律
2010-06-09 13:26 0作为 Web 设计师,你的 ... -
图片优化 and dataURI and mhtml for ie<8
2010-04-28 10:00 0http://www.phpied.com/data-uris ... -
W3C XML Schema 与文档类型定义 (DTD) 比较
2010-02-01 23:50 0http://www.ibm.com/developerwor ... -
xtml与html
2010-02-01 23:26 0HTML与XHTML 二者有什么区别,你觉得 ... -
获取css属性计算值问题
2010-01-29 23:11 3800都知道标准浏览器可以用 getComputedStyle 以及 ... -
垂直居中问题解释整理
2009-12-06 01:19 2290垂直居中曾经很热的话题,也转过网络一些好的解决方案: ... -
有趣的z-index
2009-12-01 00:25 2847实践 : 注:firefox 示例1 ... -
css列布局整理
2009-11-27 01:14 1701对一些经典的布局进行整理,以及修改去除不必要的hack,兼容 ... -
ebay ppt.rar
2009-11-18 15:23 0ebay ppt.rar
相关推荐
### 用DIV+CSS实现国内经典式三行两列布局 #### 布局概述 在Web设计领域,有一种常见的布局方式被称为“三行两列”布局,这种布局广泛应用于企业站点和其他展示类网站中。典型的特征包括:顶部通常放置大型导航栏...
本实例探讨了常见的CSS布局模式,包括两列布局和三列布局,以及等高布局的实现方法。 首先,我们来看两列布局。两列布局通常用于创建一个有侧边栏和主要内容区域的网页结构。在描述中提到了两种不同的两列布局方式...
首先,要实现两列布局并让它们居中,我们可以采用一个外层的容器div(content),并在其中使用两个子div(side和main)。子div将通过CSS设置为浮动元素(使用float属性),使得它们并排显示。 接下来,我们会探讨到...
例如,可以创建两列布局,左列宽度为200px,右列占据剩余空间: ```css .left-column { float: left; width: 200px; } .right-column { float: left; width: calc(100% - 200px); } ``` - **宽度自适应...
本实例着重讲解如何利用`div+css`实现整体布局,并特别关注`float`属性的使用以及`div`的居中处理。 一、`div`元素的运用 `<div>`是HTML中的一个通用容器元素,用于组合其他HTML元素,为它们提供结构。在`div+css`...
要让Div居中,有多种方法,包括使用`text-align`、`margin`、Flexbox或Grid。 1. **Text-align居中**:如果Div是内联元素,可以设置父元素的`text-align: center`使其居中。 2. **Margin居中**:对于块级元素,...
然后定义一个`id`为`content`的`div`,使用`margin: auto`自动居中,设定宽度来控制内容区域的大小。 2. **两行一列布局**: 在这种布局中,页面被分为上下两部分。每个部分(`content-top`和`content-end`)都...
接下来,我们进入两列布局的学习: 4. **二列固定宽度布局**:`CSS网页布局入门教程4:二列固定宽度.doc`和`CSS网页布局入门教程7:二列固定宽度居中.doc`涵盖了两种不同的二列布局。一种是两侧宽度固定,中间内容...
代码中`body`设置了无边距和居中对齐,`#content`通过自动左右外边距实现了居中,并设定了固定宽度。这种布局适用于内容宽度固定的单栏页面。 两行一列布局则将页面分为上下两个区域,`#content-top`和`#content-...
两列布局样式是最常见的CSS布局样式之一。这种布局方式将页面分为上、中、下三个部分,即header区域、container区域和footer区域。其中的container区域又包含mainBox(主要内容区域)和sideBox(侧边栏)。 6.2.2 ...
- 三列布局可以分为自适应宽度或固定宽度,原理类似两列布局,但需要处理中间列与两侧列的关系,可能需要用到`float`、`margin`以及可能的负边距技巧来调整布局。 5. **XHTML的块级元素(div)和内联元素(span)*...
5. **两行两列布局**:结合浮动和容器的居中,实现上半部分和下半部分各有两列的布局,需要根据实际需求调整宽度和浮动方向。 理解并熟练运用这些基本布局技巧,将有助于你构建更加复杂和灵活的网页结构。在实践中...
在压缩包中的“templetes”文件夹,可能包含了各种Div+CSS布局的实例,比如两列布局、三列布局、响应式布局等。通过研究这些模板,你可以更深入地理解如何实际应用Div+CSS技术来构建网页。 学习Div+CSS布局不仅需要...
7. 两列固定宽度居中:两个并排`<div>`居中,保持固定宽度。 8. 三列浮动布局:三列通过`float`属性排列,中间列宽度自适应。 CSS+DIV布局允许设计者将内容和样式分离,提高了代码的可读性和复用性,使得网页在不同...
这里,`.container`被定义为一个Grid容器,`grid-template-columns`属性定义了两列,每列各占50%的宽度。这种方式同样保证了元素在同一行显示,同时也提供了更多的布局选项,如定义行和列的大小、对齐方式等。 ### ...
【描述】:该文档是一份关于“最简单的div+css网页设计”的实验报告,包含了不同类型的网页布局代码示例,如单行一列、两行一列、三行一列、单行两列、两行两列和单行三列布局,以及使用浮动和绝对定位的方法。...
使用CSS,我们可以设置头部的高度、背景颜色、文字样式等,同时利用Flexbox或Grid布局将这些元素水平或垂直居中。 进入`页面主体`部分,这是网页的核心区域,通常包含主要内容和侧边栏。可以创建多个<div>来组织...
但需要注意的是,这种方法并不符合W3C标准,因此在两列布局中,最佳做法是将所有列都设置为浮动且固定宽度,以避免此bug。 接下来,我们讨论三列固定宽度的居中对齐。要在保持固定宽度的同时使整个布局居中,只需要...