所以我的问题是,我希望我的粘性标题div有一个透明的背景,但只针对body标签的背景,这样滚动的内容就不会通过标题可见。换句话说,因为我在body标签中有一个背景图像,我也想在标题中看到它,但不想看到滚动内容,我想削减滚动内容的div可见性,使其与我的标题重合。我正在使用Bootstrap。对于我的粘性标题,我使用“position: sticky;”,在此处进行了描述:https://css-tricks.com/position-sticky-2/
<div style="position: -webkit-sticky; position: sticky; top: 0;">
<h1 class="text-center">Dictionary</h1>
<div class="text-center">
<% line_size = (@letter_array.length * 5 / 7).ceil %>
<% (0...line_size).each do | letter | %>
<form action="<%= "/dictionary/#{@letter_array[letter]}" %>" style="display: inline-block" method="post">
<input type="hidden" name="_method" value="get" />
<div>
<label for="<%= "#{@letter_array[letter]}-link" %>" class="btn" style="padding: 0; margin: 0;"><h4 style="line-height: 0px;"><%= "#{@letter_array[letter].upcase}" %><h4/></label>
<input id="<%= "#{@letter_array[letter]}-link" %>" type="submit" value="Delete" class="btn btn-link hidden"/>
</div>
</form>
<% end %>
</div>
<div class="text-center">
<% (line_size...@letter_array.length).each do | letter | %>
<form action="<%= "/dictionary/#{@letter_array[letter]}" %>" style="display: inline-block" method="post">
<input type="hidden" name="_method" value="get" />
<div>
<label for="<%= "#{@letter_array[letter]}-link" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; margin-left: 0.25em; line-height: normal !important"><h4 style="line-height: 0px;"><%= "#{@letter_array[letter].upcase}" %><h4/></label>
<input id="<%= "#{@letter_array[letter]}-link" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
<% end %>
</div>
<h5 class="text-center" style="margin-top: 0.25em; margin-bottom: 2em"><a href="<%= "/dictionary/new" %>">Add a New Word to Dictionary</a></h5>
</div>
<% if !@words.nil? %>
<div class="table-responsive">
<table class="table" style="width: auto !important;" align="center">
<thead>
<% word = @words[0] %>
<tr>
<td>
<a href="<%= "/dictionary/#{@letter}/#{word.text}" %>">
<%= "#{Word.int} - #{word.text}" %>
</a>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}/edit" %>" method="post">
<input type="hidden" name="_method" value="get" />
<div>
<label for="<%= "#{word.text}-edit" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-pencil" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-edit" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}" %>" method="post">
<input type="hidden" name="_method" value="delete" />
<div>
<label for="<%= "#{word.text}-delete" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-trash-o" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-delete" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
</tr>
</thead>
<tbody id="demo">
<% @words[1, Word.words_const - 1].each do |word| %>
<tr>
<td>
<a href="<%= "/dictionary/#{@letter}/#{word.text}" %>">
<%= "#{Word.int} - #{word.text}" %>
</a>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}/edit" %>" method="post">
<input type="hidden" name="_method" value="get" />
<div>
<label for="<%= "#{word.text}-edit" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-pencil" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-edit" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}" %>" method="post">
<input type="hidden" name="_method" value="delete" />
<div>
<label for="<%= "#{word.text}-delete" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-trash-o" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-delete" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
</tr>
<% end %>
<!--<% @words.drop(1).each do |word| %>
<tr>
<td>
<a href="<%= "/dictionary/#{@letter}/#{word.text}" %>">
<%= "#{word.text}" %>
</a>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}/edit" %>" method="post">
<input type="hidden" name="_method" value="get" />
<div>
<label for="<%= "#{word.text}-edit" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-pencil" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-edit" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
<td>
<form action="<%= "/dictionary/#{@letter}/#{word.text}" %>" method="post">
<input type="hidden" name="_method" value="delete" />
<div>
<label for="<%= "#{word.text}-delete" %>" class="btn" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"><i class="fa fa-trash-o" aria-hidden="true"></i></label>
<input id="<%= "#{word.text}-delete" %>" type="submit" value="Delete" class="btn btn-link hidden" style="border: 0; padding: 0; margin-top: -2px; line-height: normal !important"/>
</div>
</form>
</td>
</tr>
<% end %>-->
</tbody>
</table>
</div>
<% end %>
<script>
window.onscroll = function() {scrollFunction()};
var door_key = 1;
function getDocHeight() {
var D = document;
return Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
);
}
function scrollFunction() {
if (window.pageYOffset + window.outerHeight > getDocHeight() - 100) {
if (door_key === 1) {
door_key = 0;
loadDoc();
}
} else {
door_key = 1;
}
}
function loadDoc(letter) {
var xhttp;
if (window.XMLHttpRequest) {
// code for modern browsers
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML +=
this.responseText;
}
};
xhttp.open("GET", "/abc", true);
xhttp.send();
}
</script>
position:fixed;
。 - Ashish sah