Ответ 1
У меня была аналогичная проблема, она была решена с помощью следующего CSS:
body {
margin: 0 !important;
padding: 0 !important;
}
У меня была эта проблема с каждой созданной мной веб-страницей. Всегда есть верхний край над основным контейнером, который я использую для размещения моего контента в центре страницы. Я использую таблицу стилей css и устанавливаю поля и отступы в теле до 0px и устанавливаю поле и дополнение в 0 в div:
body{
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
padding: 0;
color: black;
font-size: 10pt;
font-family: "Trebuchet MS", sans-serif;
background-color: #E2E2E2;
}
div.mainContainer{
height: auto;
width: 68em;
background-color: #FFFFFF;
margin: 0 auto;
padding: 0;
}
Я много раз просматривал Интернет, но все, что я могу сделать, это установить эти атрибуты margin и padding. Есть ли что-то еще, что я должен делать? Маржа существует в IE и Firefox.
Вот более подробный взгляд на код (он находится на начальных этапах создания, поэтому в нем мало чего...)
<!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" />
<!-- TemplateBeginEditable name="doctitle" -->
<title></title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
<link href="../Styles/KB_styles1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="mainContainer">
<p>Here is the information</p>
</div>
</body>
</html>
Вот CSS:
@charset "utf-8";
/* CSS Document */
body{
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
padding: 0;
color: black;
font-size: 10pt;
font-family: "Trebuchet MS", sans-serif;
background-color: #E2E2E2;
}
/* ---Section Dividers --------------------------------------------------------------*/
div.mainContainer{
position: relative;
height: auto;
width: 68em;
background-color: #FFFFFF;
margin: 0 auto;
padding: 0;
}
div.header{
padding: 0;
margin: 0;
}
div.leftSidebar{
float: left;
width: 22%;
height: 40em;
margin: 0;
}
div.mainContent{
margin-left: 25%;
}
div.footer{
clear: both;
padding-bottom: 0em;
margin: 0;
}
/* Hide from IE5-mac. Only IE-win sees this. \*/
* html div.leftSidebar { margin-right: 5px; }
* html div.mainContent {height: 1%; margin-left: 0;}
/* End hide from IE5/mac */
У меня была аналогичная проблема, она была решена с помощью следующего CSS:
body {
margin: 0 !important;
padding: 0 !important;
}
Является ли ваш первый элемент h1
или похожим? Этот элемент margin-top
может вызывать то, что кажется краем на body
.
Лучший способ для полей reset для всех элементов - использовать правило css asterisk.
Добавьте это в начало своего css под @charset:
* {
margin: 0px;
padding: 0px;
}
Это приведет к удалению всех предустановленных полей и дополнений со всеми элементами body, h1, h2, p и т.д. Теперь вы можете сделать верхний или заголовок страницы заподлицо с браузером вместе с любыми изображениями или текстом в других div.
Множество элементов в CSS имеют по умолчанию заполнение и поля. Итак, когда вы начинаете создавать новый сайт, всегда хорошо иметь файл reset.css
. Добавьте это, чтобы втирать значения по умолчанию, поэтому у вас больше контроля над вашей веб-страницей.
/* CSS reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}
html,body {
margin:0;
padding:0;
}
/* Extra options you might want to consider*/
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,img {
border:0;
}
input{
border:1px solid #b0b0b0;
padding:3px 5px 4px;
color:#979797;
width:190px;
}
address,caption,cite,code,dfn,th,var {
font-style:normal;
font-weight:normal;
}
ol,ul {
list-style:none;
}
caption,th {
text-align:left;
}
h1,h2,h3,h4,h5,h6 {
font-size:100%;
font-weight:normal;
}
q:before,q:after {
content:'';
}
abbr,acronym {
border:0;
}
Надеюсь, это поможет всем разработчикам, это то, что прослушивалось для меня некоторое время, когда я учился.
Вы можете предотвратить эффекты разворот маржи с помощью:
body { overflow: hidden }
Это приведет к тому, что поля body
останутся точными.
У меня была такая же проблема. Он был разрешен следующей строкой css;
h1{margin-top:0px}
Мой основной div содержал тег h1
в начале.
У меня была аналогичная проблема. Мне нужен процентный рост и верхняя граница для моего контейнера div, но тело возьмет на себя край контейнера div. Думаю, я понял решение.
Вот мой оригинальный (проблемный) код:
html {
height:100%;
}
body {
height:100%;
margin-top:0%;
padding:0%;
}
#pageContainer {
position:relative;
width:96%; /* 100% - (margin * 2) */
height:96%; /* 100% - (margin * 2) */
margin:2% auto 0% auto;
padding:0%;
}
Мое решение состояло в том, чтобы установить высоту тела так же, как высоту контейнера.
html { высота: 100%; }
body {
height:96%; /* 100% * (pageContainer*2) */
margin-top:0%;
padding:0%;
}
#pageContainer {
position:relative;
width:96%; /* 100% - (margin * 2) */
height:96%; /* 100% - (margin * 2) */
margin:2% auto 0% auto;
padding:0%;
}
Я не тестировал его в каждом браузере, но это работает.
Вот код, который все просили - его в самом начале разработки, так что в нем пока мало чего, что может быть полезно...
<!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" />
<!-- TemplateBeginEditable name="doctitle" -->
<title></title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
<link href="../Styles/KB_styles1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="mainContainer">
<div class="header"> </div>
<div class="mainContent"> </div>
<div class="footer"> </div>
</div>
</body>
</html>
Вот css:
@charset "utf-8";
/* CSS Document */
body{
margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;
padding: 0;
color: black; font-size: 10pt; font-family: "Trebuchet MS", sans-serif;
background-color: #E2E2E2;}
html{padding: 0; margin: 0;}
/* ---Section Dividers -----------------------------------------------*/
div.mainContainer{
height: auto; width: 68em;
background-color: #FFFFFF;
margin: 0 auto; padding: 0;}
div.header{padding: 0; margin-bottom: 1em;}
div.leftSidebar{
float: left;
width: 22%; height: 40em;
margin: 0;}
div.mainContent{margin-left: 25%;}
div.footer{
clear: both;
padding-bottom: 0em; margin: 0;}
/* Hide from IE5-mac. Only IE-win sees this. \*/
* html div.leftSidebar { margin-right: 5px; }
* html div.mainContent {height: 1%; margin-left: 0;}
/* End hide from IE5/mac */
Попробуйте поле -10px:
body { margin-top:-10px; }
Эта же проблема заставляла меня сходить с ума несколько часов. То, что я нашел, и вы можете проверить, это html-кодирование. В моем html файле я объявлял utf-8-кодировку и использовал Notepad ++ для ввода html-кода в формате utf-8. О том, что я забыл, была спецификация UTF-8 и отсутствие спецификации. Кажется, когда utf-8 объявил, что html файл написан как спецификация UTF-8, в начале файла есть некоторый невидимый дополнительный символ. Символ (непечатаемый, я думаю) влияет на одну строку "текста" в верхней части страницы. И вы не можете видеть разницу в исходном виде браузера (в моем случае Chrome). Оба хороших и испорченных файла кажутся похожими на самого персонажа, но один из них красиво выглядит, а другой показывает этот лишний верхний край.
Чтобы обернуть это решение, нужно преобразовать файл в UTF-8 NO BOM, и это можно сделать в i.e. Notepad ++.
style="text-align:center;margin-top:0;" cz-shortcut-listen="true"
вставьте это в свой тег тела!
это приведет к удалению верхнего поля
У меня была такая же проблема. Для меня это единственное, что сработало:
div.mainContainer { padding-top: 1px; }
Он фактически работает с любым числом, которое не равно нулю. Я действительно не знаю, почему это позаботилось об этом. Я не настолько осведомлен о CSS и HTML, и это кажется противоречивым. Установка полей body, html, h1
и paddings на 0 не повлияла на меня. У меня также был h1
в верхней части моей страницы
body{
margin:0;
padding:0;
}
<span>Example</span>
Я пробовал почти каждую онлайн-технику, но у меня все еще было место на моем веб-сайте, когда я открывал его с помощью браузера мобильного телефона Opera, поэтому решил исправить его самостоятельно, и я понял!
я понимаю, что даже когда вы показываете страницу в одном макете, она подходит к веб-сайту на экране, а некоторые функции css отключены, поскольку функции margin, padding, float и position автоматически отключаются, когда вы приспосабливаетесь к экрану, и тело всегда добавляет встроенное дополнение вверху. поэтому я решил искать хотя бы одну функцию, которая работает, угадайте, что? "Дисплей". позвольте мне показать вам, как!
<html>
<head>
<style>
body {
display: inline;
}
#top {
display: inline-block;
}
</style>
</head>
<body>
<div id="top">
<!-- your code goes here! -->
eg: <div id="header"></div>
<div id="container"></div> and so on..
<!-- your code goes here! -->
</div>
</body>
</html>
Если вы заметили, тело {display: inline;} удаляет встроенное дополнение в тело, но без #top {display: inline-block;}, div все еще не отображает хорошо, поэтому вы должны включить <div id="top">
элемент перед любым кодом на вашей странице! так просто.. надеюсь, что это помогает? вы можете поблагодарить меня, если он работает, http://www.facebook.com/exploxi
вы также можете проверить:
{float: left;}
и
{clear: both;}
используются правильно в вашем CSS.