I'm trying to use the Bootstrap Material design theme in which I now use a simple text input field with the following code:
<div class="form-control-wrapper">
<input class="form-control empty" type="text"></input>
<div class="floating-label">
Title
</div>
<span class="material-input"></span>
</div>
which looks like this:
But when I put in some text, the text and the label mix:
Shouldn't the floating-label
disappear? What am I doing wrong?
All tips are welcome!
[EDIT 2]
These are all my imports in my <head>
:
<html ng-app="myApp">
<head>
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<!-- Bootstrap -->
<link src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- Bootstrap Material Design (https://github.com/FezVrasta/bootstrap-material-design) -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.3.0/css/roboto.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.3.0/css/material-fullpalette.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.3.0/css/ripples.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.3.0/js/material.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.3.0/js/ripples.min.js"></script>
<!-- Angular -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<!-- My own scripts -->
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body>
<div ui-view></div>
</body>
</html>
and my main.html
which I load using Angular:
<form novalidate>
<div class="form-control-wrapper">
<input class="form-control empty" type="text"></input>
<div class="floating-label">
Title
</div>
<span class="material-input"></span>
</div>
</form>
[EDIT 3] For me the fiddle doesn't work either. I tried in both Chrome and Firefox. Both are up to date. Check it out:
Any ideas?
You shouldn't hardcode the "empty" class on your input, instead of that, you should use the material.js script, which will build your DOM, and handle the "empty" css class.
You already imported material.js, so that's OK. The changes you need are:
<script>
$.material.init();
</script>
<form novalidate>
<input type="text" class="form-control floating-label" placeholder="your label"/>
</form>
I hope this will help.