Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 定位为响应性体验_Html_Css_Responsive Design - Fatal编程技术网

Html 定位为响应性体验

Html 定位为响应性体验,html,css,responsive-design,Html,Css,Responsive Design,我知道大量的HTML、CSS、Jquery和PHP。但是当涉及到制作一个响应性强的网页时,我真的是个新手。所以基本上在我的名为“colors.html”的基本网页中,我有4个div。这四种颜色是黄色、蓝色、红色和绿色。所以,为了理解一个响应性强的网页应该是什么样子,我在%中做了所有的定位、高度和宽度。我所有的定位都是在一个相对的身体内,身体内的所有元素都是绝对的。它看起来工作得很好,我为所有div设置了一个最小宽度,这样当用户调整浏览器窗口的大小时,它就不会一起乱动。我这样做是正确的还是有更好的

我知道大量的HTML、CSS、Jquery和PHP。但是当涉及到制作一个响应性强的网页时,我真的是个新手。所以基本上在我的名为“colors.html”的基本网页中,我有4个div。这四种颜色是黄色、蓝色、红色和绿色。所以,为了理解一个响应性强的网页应该是什么样子,我在%中做了所有的定位、高度和宽度。我所有的定位都是在一个相对的身体内,身体内的所有元素都是绝对的。它看起来工作得很好,我为所有div设置了一个最小宽度,这样当用户调整浏览器窗口的大小时,它就不会一起乱动。我这样做是正确的还是有更好的方法

<!doctype html>
<html>
<head>
    <title> Test </title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link type="text/css" rel="stylesheet" href="colors.css">
</head>

<body> 
    <div id="red"></div>
    <div id="green"></div>
    <div id="blue"></div>
    <div id="yellow"></div>

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">    </script>
        <script>    
            $('#red').click(function() {
                alert('Red');
            })

            $('#green').click(function() {
                alert('Green');
            })

            $('#blue').click(function() {
                alert('Blue');
            })

            $('#yellow').click(function() {
                alert('Yellow');
            })
        </script>
</body>
</html>

body {
margin: 0;
position: relative;
}

#blue {
position: absolute;
width: 20%;
height: 10%;
background-color: blue;
color: white;
text-align: center;
font-size: 150%;
font-family: Roboto;
cursor: pointer;
border-radius: 5px;
left: 3%;
top: 5%;
min-width: 150px;
}

#yellow {
position: absolute;
width: 20%;
height: 10%;
background-color: yellow;
color: white;
text-align: center;
font-size: 150%;
font-family: Roboto;
cursor: pointer;
border-radius: 5px;
left: 3%;
top: 20%;
min-width: 150px;
}

#red {
position: absolute;
width: 20%;
height: 10%;
background-color: red;
color: white;
text-align: center;
font-size: 150%;
font-family: Roboto;
cursor: pointer;
border-radius: 5px;
right: 3%;
top: 5%;
min-width: 150px;
}

#green {
position: absolute;
width: 20%;
height: 10%;
background-color: green;
color: white;
text-align: center;
font-size: 150%;
font-family: Roboto;
cursor: pointer;
border-radius: 5px;
right: 3%;
top: 20%;
min-width: 150px;
}

试验
$('#红色')。单击(函数(){
警报(“红色”);
})
$('#绿色')。单击(函数(){
警报(“绿色”);
})
$('#蓝色')。单击(函数(){
警报(“蓝色”);
})
$('#黄色')。单击(函数(){
警报(“黄色”);
})
身体{
保证金:0;
位置:相对位置;
}
#蓝色的{
位置:绝对位置;
宽度:20%;
身高:10%;
背景颜色:蓝色;
颜色:白色;
文本对齐:居中;
字体大小:150%;
字体系列:Roboto;
光标:指针;
边界半径:5px;
左:3%;
最高:5%;
最小宽度:150px;
}
#黄色的{
位置:绝对位置;
宽度:20%;
身高:10%;
背景颜色:黄色;
颜色:白色;
文本对齐:居中;
字体大小:150%;
字体系列:Roboto;
光标:指针;
边界半径:5px;
左:3%;
最高:20%;
最小宽度:150px;
}
#红色的{
位置:绝对位置;
宽度:20%;
身高:10%;
背景色:红色;
颜色:白色;
文本对齐:居中;
字体大小:150%;
字体系列:Roboto;
光标:指针;
边界半径:5px;
右:3%;
最高:5%;
最小宽度:150px;
}
#绿色的{
位置:绝对位置;
宽度:20%;
身高:10%;
背景颜色:绿色;
颜色:白色;
文本对齐:居中;
字体大小:150%;
字体系列:Roboto;
光标:指针;
边界半径:5px;
右:3%;
最高:20%;
最小宽度:150px;
}

您可以使用媒体规则对每个分辨率做出响应。。。这可能是有点太多的工作。但它会为你工作

例如:

创建一个新的.css文件,你可以随意调用它。responsive.css 您将使用所有标签(div、ul、li等)。。。将其包含在您的html文件中的to标记中

例如,你有:

#蓝色{
位置:绝对位置;
宽度:20%;
身高:10%;
背景颜色:蓝色;
颜色:白色;
文本对齐:居中;
字体大小:150%;
字体系列:Roboto;
光标:指针;
边界半径:5px;
左:3%;
最高:5%;
最小宽度:150px;

}
在我看来,您的概念中最大的问题是,
位置:绝对值
通常用于使项目脱离页面的正常流程。它们呈现在页面上方。这是放置下拉菜单、工具提示、模式窗口、可在内容上滑动的抽屉或超大菜单的方式

仅仅因为可以将所有内容放置在正常流之外并不是特别有用,因为实际上不需要将元素放置在流之外的功能。你没有流量

当你开始考虑布局时,你根本不应该考虑CSS。你应该问自己的是:我的页面将如何在不同大小和比例的屏幕上呈现

  • 巨大的屏幕,宽度如此之大,您的所有段落都将呈现为1行(>75em)
  • 大屏幕:台式机、大型笔记本电脑(62em>74.9em)
  • 中型设备:笔记本电脑/平板电脑(48em>61.9em)
  • 小型设备大多数智能手机、平板电脑(34em>47.9em)
  • 非常小的屏幕(高达33.9em)
在您为各种屏幕大小和比例制定了一些显示规则后,您应该按顺序编写它们,从小到大或从大到小:

// CSS for very large screens

@media (max-height: 74.9em) {
    // CSS overrides for large screens
}

@media (max-height: 61.9em) {
    // CSS overrides for medium screens
}

@media (max-height: 47.9em) {
    // CSS overrides for small screens
}

@media (max-height: 33.9em) {
    // CSS overrides for very small screens
}
示例(从大到小):

另一个好的实践是尽可能少地编写代码。例如,与其像您那样为每种颜色编写相同的属性,不如创建一个包含颜色的所有公共属性并将其应用于所有颜色div的类

.color {
    position: absolute;
    width: 20%;
    color: white;
    text-align: center;
    font-size: 150%;
    font-family: Roboto, sans-serif;
    cursor: pointer;
    border-radius: 5px;
    min-width: 150px;
}
然后在每个
{color}{…}
中写入特定
div
的特定属性

请记住,在使用它之前,您应该加载
字体系列
,如
Roboto
,以确保即使未安装,也能在所有设备上呈现

@import url(https://fonts.googleapis.com/css?family=Roboto);
您还应该指定一个通用的
字体系列
类型,以防下载字体文件时出错,这样浏览器会使页面尽可能接近原始页面

除此之外,我唯一的建议是:在上线之前,一定要在所有屏幕大小和至少3种主要浏览器上测试CSS

祝你好运


祝你好运

不要使用绝对位置。位置相对,具有智能/深思熟虑的宽度(我倾向于使用
width:%;max-width:px
类语法),将使事物正确流动/堆叠。对于响应如何工作的一些概念,您可能想查看或。您能否提供一个指向
colors.css
的链接?不太清楚为什么这会获得如此多的赞成票。坦率地说,你的问题很难回答。在讨论响应性设计时,有多种学派。我们不能回答这个问题,有太多的信息要说。请做你的研究。如果你在实现一个想法时遇到困难,那么你可以问。不需要单独的文件。媒体查询是有用的,但是你有太多的步骤。保持简单:大型(台式机)、中型(平板电脑)、小型(手机)、超小型(超小型手机)