ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: nos399 ใน 08 กันยายน 2016, 14:05:53

ชื่อเรื่อง: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nos399 ใน 08 กันยายน 2016, 14:05:53
ให้เวลามันหดเหลือแถบ 3 ขีดอ่ะครับ ตอนนี้ผมดึง Bootstrap มาใช้แล้ว มันไม่หดเหลือ 3 ขีดครับ

ไฟล์ menu.html

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstarp/css/bootstrap-responsive.css" rel="stylesheet">
<link href="bootstarp/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/styles.css" media="screen" rel="stylesheet" type="text/css" />
<link href="css/menu.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body >
<script src="bootstarp/js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
  <tr >
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"></div>
<td height="30" align="center" valign="middle" bgcolor="#000000">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="about_us.html" class="dropbtn">About Us</a>
<li><a href="members.html">Members</a></li>
<li class="dropdown">
<a href="signin.html" class="dropbtn">Sign in</a>
<div class="dropdown-content">
<a href="1.html">1</a>
<a href="2.html">2</a>
<a href="3.html">3</a></div>
<li class="dropdown"><a href="list.html">List</a></li>
<li class="dropdown"><a href="contact_us_en.html" class="dropbtn">Contact Us</a>
</div>
        </li>
    </ul>
   </td>
  </tr>
  </body>
</html>

==================================================

ไฟล์ menu.css

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #000;
}

li {
    float: left;
}

li a, .dropbtn {
    display: inline-block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

li a:hover, .dropdown:hover .dropbtn {
    background-color: #0044ff;
}

li.dropdown {
    display: inline-block;
    position: relative;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #000;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
   z-index: 1;
}

.dropdown-content a {
    color: #fff;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.dropdown-content a:hover {background-color: #0044ff}

.dropdown:hover .dropdown-content {
    display: block;
}

ขอบคุณครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: Oxiam ใน 08 กันยายน 2016, 14:18:19
ดูแล้วคงต้องไปศึกษาทำความเข้าใจใหม่แล้วมั๊งครับ ที่เขียนมานี่เหมือนท่านยังไม่ค่อยเข้าใจ bootstrap เลย  :wanwan022:

อันที่จริงมันไม่ต้องเขียน css ขึ้นมาเองเลยก็ได้ครับ นอกจากจะทำให้เป็นในแบบของตัวเอง
อยากให้ลองศึกษาตามนี้ดูครับ ลองๆ คัดลอกโค้ดมาทดสอบเลย
http://www.w3schools.com/bootstrap/bootstrap_navbar.asp
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nos399 ใน 08 กันยายน 2016, 14:24:47
อ้างถึงจาก: Oxiam ใน 08 กันยายน 2016, 14:18:19
ดูแล้วคงต้องไปศึกษาทำความเข้าใจใหม่แล้วมั๊งครับ ที่เขียนมานี่เหมือนท่านยังไม่ค่อยเข้าใจ bootstrap เลย  :wanwan022:

อันที่จริงมันไม่ต้องเขียน css ขึ้นมาเองเลยก็ได้ครับ นอกจากจะทำให้เป็นในแบบของตัวเอง
อยากให้ลองศึกษาตามนี้ดูครับ ลองๆ คัดลอกโค้ดมาทดสอบเลย
http://www.w3schools.com/bootstrap/bootstrap_navbar.asp

ไปดูมาแล้วครับ ไม่ค่อยเข้าใจ แต่สรุปว่าตัว menu.css เราไม่ต้องดึงมาใช้เลยใช่ไหมครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nuonly ใน 08 กันยายน 2016, 14:37:00
อ้างถึงจาก: nos399 ใน 08 กันยายน 2016, 14:24:47
อ้างถึงจาก: Oxiam ใน 08 กันยายน 2016, 14:18:19
ดูแล้วคงต้องไปศึกษาทำความเข้าใจใหม่แล้วมั๊งครับ ที่เขียนมานี่เหมือนท่านยังไม่ค่อยเข้าใจ bootstrap เลย  :wanwan022:

อันที่จริงมันไม่ต้องเขียน css ขึ้นมาเองเลยก็ได้ครับ นอกจากจะทำให้เป็นในแบบของตัวเอง
อยากให้ลองศึกษาตามนี้ดูครับ ลองๆ คัดลอกโค้ดมาทดสอบเลย
http://www.w3schools.com/bootstrap/bootstrap_navbar.asp

ไปดูมาแล้วครับ ไม่ค่อยเข้าใจ แต่สรุปว่าตัว menu.css เราไม่ต้องดึงมาใช้เลยใช่ไหมครับ

น่าจะดึงมานะครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nociouz ใน 08 กันยายน 2016, 14:45:02
http://fiddle.jshell.net/rarteaga/ofz9Lgom/
ดูตรง External Resources ซ้ายด้วยครับ
ของแบบนี้ หาได้ใน google ได้ไม่ยากขนาดนั้นครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: Oxiam ใน 08 กันยายน 2016, 14:46:44
ทาง Bootstrap เขาเขียน class มาให้อยู่แล้วครับ เว้นแต่เราจะเขียน css เสริมเข้าไป เช่น <nav class="navbar navbar-inverse"> มันจะดึง class ของ bootstrap ให้มา แต่ถ้าเราอยากจะเปลี่ยนเองก็ใส่เป็น <nav class="navbar navbar-inverse navbar-custom"> ใส่ navbar-custom เพิ่มเข้าไป แล้วก็ไปเขียน style ของ .navbar-custom เพิ่มเติมเข้าไปอีกที อะไรประมาณนี้ครับ แต่ถ้าเรียนรู้เรื่อง Media Queries ก็ไม่ต้องไปพึ่ง bootstrap เลยครับ ง่ายกว่า เร็วกว่า อิสระกว่า

ลองเอาโค้ดนี้ไปทดสอบดูสิครับ มันมาจาก class ของ bootstrab ทั้งหมดเลย
<!DOCTYPE html>
<html lang="en">
<head>
 <title>Bootstrap Case</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="navbar navbar-inverse">
 <div class="container-fluid">
   <div class="navbar-header">
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
     </button>
     <a class="navbar-brand" href="#">WebSiteName</a>
   </div>
   <div class="collapse navbar-collapse" id="myNavbar">
     <ul class="nav navbar-nav">
       <li class="active"><a href="#">Home</a></li>
       <li class="dropdown">
         <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
         <ul class="dropdown-menu">
           <li><a href="#">Page 1-1</a></li>
           <li><a href="#">Page 1-2</a></li>
           <li><a href="#">Page 1-3</a></li>
         </ul>
       </li>
       <li><a href="#">Page 2</a></li>
       <li><a href="#">Page 3</a></li>
     </ul>
     <ul class="nav navbar-nav navbar-right">
       <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
       <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
     </ul>
   </div>
 </div>
</nav>
</body>
</html>
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nos399 ใน 08 กันยายน 2016, 15:43:40
อ้างถึงจาก: Oxiam ใน 08 กันยายน 2016, 14:46:44
ทาง Bootstrap เขาเขียน class มาให้อยู่แล้วครับ เว้นแต่เราจะเขียน css เสริมเข้าไป เช่น <nav class="navbar navbar-inverse"> มันจะดึง class ของ bootstrap ให้มา แต่ถ้าเราอยากจะเปลี่ยนเองก็ใส่เป็น <nav class="navbar navbar-inverse navbar-custom"> ใส่ navbar-custom เพิ่มเข้าไป แล้วก็ไปเขียน style ของ .navbar-custom เพิ่มเติมเข้าไปอีกที อะไรประมาณนี้ครับ แต่ถ้าเรียนรู้เรื่อง Media Queries ก็ไม่ต้องไปพึ่ง bootstrap เลยครับ ง่ายกว่า เร็วกว่า อิสระกว่า

ลองเอาโค้ดนี้ไปทดสอบดูสิครับ มันมาจาก class ของ bootstrab ทั้งหมดเลย
<!DOCTYPE html>
<html lang="en">
<head>
 <title>Bootstrap Case</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="navbar navbar-inverse">
 <div class="container-fluid">
   <div class="navbar-header">
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
       <span class="icon-bar"></span>
     </button>
     <a class="navbar-brand" href="#">WebSiteName</a>
   </div>
   <div class="collapse navbar-collapse" id="myNavbar">
     <ul class="nav navbar-nav">
       <li class="active"><a href="#">Home</a></li>
       <li class="dropdown">
         <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
         <ul class="dropdown-menu">
           <li><a href="#">Page 1-1</a></li>
           <li><a href="#">Page 1-2</a></li>
           <li><a href="#">Page 1-3</a></li>
         </ul>
       </li>
       <li><a href="#">Page 2</a></li>
       <li><a href="#">Page 3</a></li>
     </ul>
     <ul class="nav navbar-nav navbar-right">
       <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
       <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
     </ul>
   </div>
 </div>
</nav>
</body>
</html>


ขอบคุณครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nos399 ใน 08 กันยายน 2016, 15:45:11
อ้างถึงจาก: nociouz ใน 08 กันยายน 2016, 14:45:02
http://fiddle.jshell.net/rarteaga/ofz9Lgom/
ดูตรง External Resources ซ้ายด้วยครับ
ของแบบนี้ หาได้ใน google ได้ไม่ยากขนาดนั้นครับ

ขอบคุณครับ

ผมหาอยู่หลายที่ แต่ดันไม่เจอแบบนี้อ่ะครับ ชอบเจอเว็บหลอกแบบว่าให้ Gen โค้ด nav ตามต้องการแล้วจ่ายตังค์
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: nos399 ใน 09 กันยายน 2016, 10:31:10
ได้แล้วครับ ขอบคุณครับ
ชื่อเรื่อง: Re: ทำเมนู navbar แบบ Responsive ยังไงครับ
โพสต์โดย: 1ZAA ใน 09 กันยายน 2016, 11:32:05
เยึ่ยมครับ ขอบคุณครับ