2009-12-20 17 views
1

我们可以使用像素或百分比来设置元素E的填充和边距属性。百分比值是指包含块的宽度吗?

A)我假设当我们使用百分比时,百分比值是指包含块的宽度?因此,如果直接在<body>元素中声明E,则包含块为<body>,百分比值指的是元素的宽度<body>

B)<body>元素的默认宽度是多少?

谢谢。

编辑:

如果I E的填充设定为50%:

#E 
    { 
     padding: 50%; 
    } 

然后的E公司“填充左+填充右”将等于a的宽度的宽度视口(当视口在整个屏幕上展开时)。

A)因此,我假设<body>的宽度(以像素为单位)取决于显示器的水平分辨率和视口的宽度?我的屏幕分辨率设置为1024 * 768,因此在我的情况下,<body>的宽度为1024像素(假设视口在整个屏幕上展开)?但如果我要将分辨率更改为800 * 600,那么<body>的宽度将是800px?

回答

2
  1. 是的,CSS将应用于包含它的元素。

  2. <body>标记的默认宽度百分比为100%。

一般情况下,你应该使用链接到你的HTML CSS文件,并使用CSS Selectors什么元素选择了风格。将CSS嵌入到HTML中是不好的做法,因为这不是很好维护(即,如果您需要更改网站的样式)。

编辑:

#E { padding: 50%; } 

是一条捷径:

#E { padding-top: 50%; padding-right: 50%; padding-left: 50%; padding-bottom: 50%;} 

在问候一下%立场,它的视口宽度,即像素在内的浏览器窗口中的数字,显示HTML,与您的屏幕分辨率无关。

如果您要将窗口分辨率更改为800px * 600px,那么您的视口宽度将小于800px,因为滚动条会占用一部分。

+0

嗨,万一你找到时间...我已经编辑了我的初始文章以回应你的回复。顺便说一句 - 我确实使用外部CSS文件 – carewithl 2009-12-20 20:14:35

+0

“关于%代表什么,它是视口宽度,即内部浏览器窗口中的像素数量,显示HTML,与屏幕分辨率无关”但屏幕越大分辨率,视口包含的像素越多?! – carewithl 2009-12-21 19:55:25

+1

如果你保持你的窗口大小为600px×400px?不是每个人都有他们的浏览器窗口最大化,你知道... – Oded 2009-12-21 20:31:26

1

body默认宽度是100%,但htmlbody父容器,所以它会影响body在某些情况下,如果你没有意识到这一点。

+0

嗨,万一你找到时间...我已经编辑了我的初始帖子回应你的回复 – carewithl 2009-12-20 20:14:00

1

“我的屏幕分辨率设置为1024 * 768,因而在我的情况下,<body>的宽度为1,024像素?”

随着Tor提到的,<html>元素可以有边距,边框和它自己的填充。

另外,浏览器窗口的滚动条也会占用一些空间。

+0

在什么情况下元素有它自己的边距,边框和填充? – carewithl 2009-12-20 20:29:30

+1

我可能会记住这个错误,但我认为一些浏览器在HTML元素上放了一点边框。我总是倾向于将和的边距,边框和填充设置为零。 – 2009-12-20 20:57:04

1

答:我假设当我们使用百分比时,百分比值是指包含块的宽度?

它取决于百分比分配给的属性。例如,对于字体大小,它是父元素的计算字体大小。

填充根据计算的width of the parent block计算 - 均匀填充使用宽度。 (请记住,宽度是内容宽度,不包括填充,边框和边距)。

B)元素的默认宽度是多少?

本体元件的默认宽度是auto这是“无论空间留下一次裕量,填充和边框已考虑到”。由于浏览器在默认情况下具有非零填充和/或边距(两者中的哪一个取决于浏览器),因此这不是100%。

+0

我假设“有非零填充的浏览器...”你的意思是身体元素有非零填充和边距?无论如何,thanx帮助我 – carewithl 2009-12-21 21:53:21