I think the problem is that input[type="text"] in web2py.css is of the form element.class ([type="text"] is a pseudo-class), whereas .input-small in bootstrap.min.css is just of the form .class. According to CSS order of precedence rules, element.class has greater specificity than just .class, so the input[type="text"] rule takes precedence (and I think all CSS rules trump the "size" attribute of the input element). I think maybe we can change the web2py.css rule as follows:
[type="text"], [type="password"], select {
margin-right: 5px;
width: 300px;
}
In that case, the .input-small class in bootstrap.min.css should have equal specificity to the above web2py.css rule (i.e., both represent just a class without an element), so as long as bootstrap.min.css is loaded
after web2py.css (which is the case in the default layout.html), then the .input-small rule will take precedence.
Thoughts? Have I missed something?
Anthony